aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2013-06-21 22:04:38 +0100
committerTom Christie2013-06-21 22:04:38 +0100
commitf2e6af89755c34083acb1a5fcd843a480037293f (patch)
tree1259dcbbef9fe9c2cab857b4943da00ffcc2d579
parent3d4bb4b5533fa281c2f11c12ceb0a9ae61aa0d54 (diff)
downloaddjango-rest-framework-f2e6af89755c34083acb1a5fcd843a480037293f.tar.bz2
Remove erronous htmlcov files
-rw-r--r--htmlcov/coverage_html.js372
-rw-r--r--htmlcov/index.html404
-rw-r--r--htmlcov/jquery-1.4.3.min.js166
-rw-r--r--htmlcov/jquery.hotkeys.js99
-rw-r--r--htmlcov/jquery.isonscreen.js53
-rw-r--r--htmlcov/jquery.tablesorter.min.js2
-rw-r--r--htmlcov/keybd_closed.pngbin264 -> 0 bytes
-rw-r--r--htmlcov/keybd_open.pngbin267 -> 0 bytes
-rw-r--r--htmlcov/rest_framework___init__.html99
-rw-r--r--htmlcov/rest_framework_authentication.html767
-rw-r--r--htmlcov/rest_framework_authtoken___init__.html81
-rw-r--r--htmlcov/rest_framework_authtoken_models.html151
-rw-r--r--htmlcov/rest_framework_authtoken_serializers.html129
-rw-r--r--htmlcov/rest_framework_authtoken_views.html133
-rw-r--r--htmlcov/rest_framework_decorators.html339
-rw-r--r--htmlcov/rest_framework_exceptions.html257
-rw-r--r--htmlcov/rest_framework_fields.html1991
-rw-r--r--htmlcov/rest_framework_filters.html367
-rw-r--r--htmlcov/rest_framework_generics.html1079
-rw-r--r--htmlcov/rest_framework_mixins.html449
-rw-r--r--htmlcov/rest_framework_models.html83
-rw-r--r--htmlcov/rest_framework_negotiation.html259
-rw-r--r--htmlcov/rest_framework_pagination.html269
-rw-r--r--htmlcov/rest_framework_parsers.html671
-rw-r--r--htmlcov/rest_framework_permissions.html429
-rw-r--r--htmlcov/rest_framework_relations.html1347
-rw-r--r--htmlcov/rest_framework_renderers.html1227
-rw-r--r--htmlcov/rest_framework_request.html819
-rw-r--r--htmlcov/rest_framework_response.html249
-rw-r--r--htmlcov/rest_framework_reverse.html127
-rw-r--r--htmlcov/rest_framework_routers.html595
-rw-r--r--htmlcov/rest_framework_serializers.html2011
-rw-r--r--htmlcov/rest_framework_settings.html465
-rw-r--r--htmlcov/rest_framework_status.html187
-rw-r--r--htmlcov/rest_framework_throttling.html533
-rw-r--r--htmlcov/rest_framework_urlpatterns.html205
-rw-r--r--htmlcov/rest_framework_urls.html129
-rw-r--r--htmlcov/rest_framework_utils___init__.html81
-rw-r--r--htmlcov/rest_framework_utils_breadcrumbs.html189
-rw-r--r--htmlcov/rest_framework_utils_encoders.html275
-rw-r--r--htmlcov/rest_framework_utils_formatting.html241
-rw-r--r--htmlcov/rest_framework_utils_mediatypes.html257
-rw-r--r--htmlcov/rest_framework_views.html793
-rw-r--r--htmlcov/rest_framework_viewsets.html359
-rw-r--r--htmlcov/status.dat1258
-rw-r--r--htmlcov/style.css275
46 files changed, 0 insertions, 20271 deletions
diff --git a/htmlcov/coverage_html.js b/htmlcov/coverage_html.js
deleted file mode 100644
index da3e22c8..00000000
--- a/htmlcov/coverage_html.js
+++ /dev/null
@@ -1,372 +0,0 @@
-// Coverage.py HTML report browser code.
-/*jslint browser: true, sloppy: true, vars: true, plusplus: true, maxerr: 50, indent: 4 */
-/*global coverage: true, document, window, $ */
-
-coverage = {};
-
-// Find all the elements with shortkey_* class, and use them to assign a shotrtcut key.
-coverage.assign_shortkeys = function () {
- $("*[class*='shortkey_']").each(function (i, e) {
- $.each($(e).attr("class").split(" "), function (i, c) {
- if (/^shortkey_/.test(c)) {
- $(document).bind('keydown', c.substr(9), function () {
- $(e).click();
- });
- }
- });
- });
-};
-
-// Create the events for the help panel.
-coverage.wire_up_help_panel = function () {
- $("#keyboard_icon").click(function () {
- // Show the help panel, and position it so the keyboard icon in the
- // panel is in the same place as the keyboard icon in the header.
- $(".help_panel").show();
- var koff = $("#keyboard_icon").offset();
- var poff = $("#panel_icon").position();
- $(".help_panel").offset({
- top: koff.top-poff.top,
- left: koff.left-poff.left
- });
- });
- $("#panel_icon").click(function () {
- $(".help_panel").hide();
- });
-};
-
-// Loaded on index.html
-coverage.index_ready = function ($) {
- // Look for a cookie containing previous sort settings:
- var sort_list = [];
- var cookie_name = "COVERAGE_INDEX_SORT";
- var i;
-
- // This almost makes it worth installing the jQuery cookie plugin:
- if (document.cookie.indexOf(cookie_name) > -1) {
- var cookies = document.cookie.split(";");
- for (i = 0; i < cookies.length; i++) {
- var parts = cookies[i].split("=");
-
- if ($.trim(parts[0]) === cookie_name && parts[1]) {
- sort_list = eval("[[" + parts[1] + "]]");
- break;
- }
- }
- }
-
- // Create a new widget which exists only to save and restore
- // the sort order:
- $.tablesorter.addWidget({
- id: "persistentSort",
-
- // Format is called by the widget before displaying:
- format: function (table) {
- if (table.config.sortList.length === 0 && sort_list.length > 0) {
- // This table hasn't been sorted before - we'll use
- // our stored settings:
- $(table).trigger('sorton', [sort_list]);
- }
- else {
- // This is not the first load - something has
- // already defined sorting so we'll just update
- // our stored value to match:
- sort_list = table.config.sortList;
- }
- }
- });
-
- // Configure our tablesorter to handle the variable number of
- // columns produced depending on report options:
- var headers = [];
- var col_count = $("table.index > thead > tr > th").length;
-
- headers[0] = { sorter: 'text' };
- for (i = 1; i < col_count-1; i++) {
- headers[i] = { sorter: 'digit' };
- }
- headers[col_count-1] = { sorter: 'percent' };
-
- // Enable the table sorter:
- $("table.index").tablesorter({
- widgets: ['persistentSort'],
- headers: headers
- });
-
- coverage.assign_shortkeys();
- coverage.wire_up_help_panel();
-
- // Watch for page unload events so we can save the final sort settings:
- $(window).unload(function () {
- document.cookie = cookie_name + "=" + sort_list.toString() + "; path=/";
- });
-};
-
-// -- pyfile stuff --
-
-coverage.pyfile_ready = function ($) {
- // If we're directed to a particular line number, highlight the line.
- var frag = location.hash;
- if (frag.length > 2 && frag[1] === 'n') {
- $(frag).addClass('highlight');
- coverage.set_sel(parseInt(frag.substr(2), 10));
- }
- else {
- coverage.set_sel(0);
- }
-
- $(document)
- .bind('keydown', 'j', coverage.to_next_chunk_nicely)
- .bind('keydown', 'k', coverage.to_prev_chunk_nicely)
- .bind('keydown', '0', coverage.to_top)
- .bind('keydown', '1', coverage.to_first_chunk)
- ;
-
- coverage.assign_shortkeys();
- coverage.wire_up_help_panel();
-};
-
-coverage.toggle_lines = function (btn, cls) {
- btn = $(btn);
- var hide = "hide_"+cls;
- if (btn.hasClass(hide)) {
- $("#source ."+cls).removeClass(hide);
- btn.removeClass(hide);
- }
- else {
- $("#source ."+cls).addClass(hide);
- btn.addClass(hide);
- }
-};
-
-// Return the nth line div.
-coverage.line_elt = function (n) {
- return $("#t" + n);
-};
-
-// Return the nth line number div.
-coverage.num_elt = function (n) {
- return $("#n" + n);
-};
-
-// Return the container of all the code.
-coverage.code_container = function () {
- return $(".linenos");
-};
-
-// Set the selection. b and e are line numbers.
-coverage.set_sel = function (b, e) {
- // The first line selected.
- coverage.sel_begin = b;
- // The next line not selected.
- coverage.sel_end = (e === undefined) ? b+1 : e;
-};
-
-coverage.to_top = function () {
- coverage.set_sel(0, 1);
- coverage.scroll_window(0);
-};
-
-coverage.to_first_chunk = function () {
- coverage.set_sel(0, 1);
- coverage.to_next_chunk();
-};
-
-coverage.is_transparent = function (color) {
- // Different browsers return different colors for "none".
- return color === "transparent" || color === "rgba(0, 0, 0, 0)";
-};
-
-coverage.to_next_chunk = function () {
- var c = coverage;
-
- // Find the start of the next colored chunk.
- var probe = c.sel_end;
- while (true) {
- var probe_line = c.line_elt(probe);
- if (probe_line.length === 0) {
- return;
- }
- var color = probe_line.css("background-color");
- if (!c.is_transparent(color)) {
- break;
- }
- probe++;
- }
-
- // There's a next chunk, `probe` points to it.
- var begin = probe;
-
- // Find the end of this chunk.
- var next_color = color;
- while (next_color === color) {
- probe++;
- probe_line = c.line_elt(probe);
- next_color = probe_line.css("background-color");
- }
- c.set_sel(begin, probe);
- c.show_selection();
-};
-
-coverage.to_prev_chunk = function () {
- var c = coverage;
-
- // Find the end of the prev colored chunk.
- var probe = c.sel_begin-1;
- var probe_line = c.line_elt(probe);
- if (probe_line.length === 0) {
- return;
- }
- var color = probe_line.css("background-color");
- while (probe > 0 && c.is_transparent(color)) {
- probe--;
- probe_line = c.line_elt(probe);
- if (probe_line.length === 0) {
- return;
- }
- color = probe_line.css("background-color");
- }
-
- // There's a prev chunk, `probe` points to its last line.
- var end = probe+1;
-
- // Find the beginning of this chunk.
- var prev_color = color;
- while (prev_color === color) {
- probe--;
- probe_line = c.line_elt(probe);
- prev_color = probe_line.css("background-color");
- }
- c.set_sel(probe+1, end);
- c.show_selection();
-};
-
-// Return the line number of the line nearest pixel position pos
-coverage.line_at_pos = function (pos) {
- var l1 = coverage.line_elt(1),
- l2 = coverage.line_elt(2),
- result;
- if (l1.length && l2.length) {
- var l1_top = l1.offset().top,
- line_height = l2.offset().top - l1_top,
- nlines = (pos - l1_top) / line_height;
- if (nlines < 1) {
- result = 1;
- }
- else {
- result = Math.ceil(nlines);
- }
- }
- else {
- result = 1;
- }
- return result;
-};
-
-// Returns 0, 1, or 2: how many of the two ends of the selection are on
-// the screen right now?
-coverage.selection_ends_on_screen = function () {
- if (coverage.sel_begin === 0) {
- return 0;
- }
-
- var top = coverage.line_elt(coverage.sel_begin);
- var next = coverage.line_elt(coverage.sel_end-1);
-
- return (
- (top.isOnScreen() ? 1 : 0) +
- (next.isOnScreen() ? 1 : 0)
- );
-};
-
-coverage.to_next_chunk_nicely = function () {
- coverage.finish_scrolling();
- if (coverage.selection_ends_on_screen() === 0) {
- // The selection is entirely off the screen: select the top line on
- // the screen.
- var win = $(window);
- coverage.select_line_or_chunk(coverage.line_at_pos(win.scrollTop()));
- }
- coverage.to_next_chunk();
-};
-
-coverage.to_prev_chunk_nicely = function () {
- coverage.finish_scrolling();
- if (coverage.selection_ends_on_screen() === 0) {
- var win = $(window);
- coverage.select_line_or_chunk(coverage.line_at_pos(win.scrollTop() + win.height()));
- }
- coverage.to_prev_chunk();
-};
-
-// Select line number lineno, or if it is in a colored chunk, select the
-// entire chunk
-coverage.select_line_or_chunk = function (lineno) {
- var c = coverage;
- var probe_line = c.line_elt(lineno);
- if (probe_line.length === 0) {
- return;
- }
- var the_color = probe_line.css("background-color");
- if (!c.is_transparent(the_color)) {
- // The line is in a highlighted chunk.
- // Search backward for the first line.
- var probe = lineno;
- var color = the_color;
- while (probe > 0 && color === the_color) {
- probe--;
- probe_line = c.line_elt(probe);
- if (probe_line.length === 0) {
- break;
- }
- color = probe_line.css("background-color");
- }
- var begin = probe + 1;
-
- // Search forward for the last line.
- probe = lineno;
- color = the_color;
- while (color === the_color) {
- probe++;
- probe_line = c.line_elt(probe);
- color = probe_line.css("background-color");
- }
-
- coverage.set_sel(begin, probe);
- }
- else {
- coverage.set_sel(lineno);
- }
-};
-
-coverage.show_selection = function () {
- var c = coverage;
-
- // Highlight the lines in the chunk
- c.code_container().find(".highlight").removeClass("highlight");
- for (var probe = c.sel_begin; probe > 0 && probe < c.sel_end; probe++) {
- c.num_elt(probe).addClass("highlight");
- }
-
- c.scroll_to_selection();
-};
-
-coverage.scroll_to_selection = function () {
- // Scroll the page if the chunk isn't fully visible.
- if (coverage.selection_ends_on_screen() < 2) {
- // Need to move the page. The html,body trick makes it scroll in all
- // browsers, got it from http://stackoverflow.com/questions/3042651
- var top = coverage.line_elt(coverage.sel_begin);
- var top_pos = parseInt(top.offset().top, 10);
- coverage.scroll_window(top_pos - 30);
- }
-};
-
-coverage.scroll_window = function (to_pos) {
- $("html,body").animate({scrollTop: to_pos}, 200);
-};
-
-coverage.finish_scrolling = function () {
- $("html,body").stop(true, true);
-};
-
diff --git a/htmlcov/index.html b/htmlcov/index.html
deleted file mode 100644
index 98345165..00000000
--- a/htmlcov/index.html
+++ /dev/null
@@ -1,404 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
- <title>Coverage report</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.tablesorter.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.index_ready);
- </script>
-</head>
-<body id='indexfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage report:
- <span class='pc_cov'>89%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
- <p class='legend'>Hot-keys on this page</p>
- <div>
- <p class='keyhelp'>
- <span class='key'>n</span>
- <span class='key'>s</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
-
- <span class='key'>c</span> &nbsp; change column sorting
- </p>
- </div>
-</div>
-
-<div id='index'>
- <table class='index'>
- <thead>
-
- <tr class='tablehead' title='Click to sort'>
- <th class='name left headerSortDown shortkey_n'>Module</th>
- <th class='shortkey_s'>statements</th>
- <th class='shortkey_m'>missing</th>
- <th class='shortkey_x'>excluded</th>
-
- <th class='right shortkey_c'>coverage</th>
- </tr>
- </thead>
-
- <tfoot>
- <tr class='total'>
- <td class='name left'>Total</td>
- <td>3621</td>
- <td>406</td>
- <td>0</td>
-
- <td class='right'>89%</td>
- </tr>
- </tfoot>
- <tbody>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework___init__.html'>rest_framework/__init__</a></td>
- <td>4</td>
- <td>0</td>
- <td>0</td>
-
- <td class='right'>100%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_authentication.html'>rest_framework/authentication</a></td>
- <td>169</td>
- <td>33</td>
- <td>0</td>
-
- <td class='right'>80%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_authtoken___init__.html'>rest_framework/authtoken/__init__</a></td>
- <td>0</td>
- <td>0</td>
- <td>0</td>
-
- <td class='right'>100%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_authtoken_models.html'>rest_framework/authtoken/models</a></td>
- <td>21</td>
- <td>1</td>
- <td>0</td>
-
- <td class='right'>95%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_authtoken_serializers.html'>rest_framework/authtoken/serializers</a></td>
- <td>17</td>
- <td>2</td>
- <td>0</td>
-
- <td class='right'>88%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_authtoken_views.html'>rest_framework/authtoken/views</a></td>
- <td>21</td>
- <td>0</td>
- <td>0</td>
-
- <td class='right'>100%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_decorators.html'>rest_framework/decorators</a></td>
- <td>60</td>
- <td>0</td>
- <td>0</td>
-
- <td class='right'>100%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_exceptions.html'>rest_framework/exceptions</a></td>
- <td>51</td>
- <td>2</td>
- <td>0</td>
-
- <td class='right'>96%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_fields.html'>rest_framework/fields</a></td>
- <td>594</td>
- <td>80</td>
- <td>0</td>
-
- <td class='right'>87%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_filters.html'>rest_framework/filters</a></td>
- <td>77</td>
- <td>6</td>
- <td>0</td>
-
- <td class='right'>92%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_generics.html'>rest_framework/generics</a></td>
- <td>196</td>
- <td>34</td>
- <td>0</td>
-
- <td class='right'>83%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_mixins.html'>rest_framework/mixins</a></td>
- <td>97</td>
- <td>7</td>
- <td>0</td>
-
- <td class='right'>93%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_models.html'>rest_framework/models</a></td>
- <td>0</td>
- <td>0</td>
- <td>0</td>
-
- <td class='right'>100%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_negotiation.html'>rest_framework/negotiation</a></td>
- <td>41</td>
- <td>4</td>
- <td>0</td>
-
- <td class='right'>90%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_pagination.html'>rest_framework/pagination</a></td>
- <td>43</td>
- <td>0</td>
- <td>0</td>
-
- <td class='right'>100%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_parsers.html'>rest_framework/parsers</a></td>
- <td>153</td>
- <td>13</td>
- <td>0</td>
-
- <td class='right'>92%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_permissions.html'>rest_framework/permissions</a></td>
- <td>63</td>
- <td>12</td>
- <td>0</td>
-
- <td class='right'>81%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_relations.html'>rest_framework/relations</a></td>
- <td>365</td>
- <td>88</td>
- <td>0</td>
-
- <td class='right'>76%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_renderers.html'>rest_framework/renderers</a></td>
- <td>282</td>
- <td>23</td>
- <td>0</td>
-
- <td class='right'>92%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_request.html'>rest_framework/request</a></td>
- <td>161</td>
- <td>8</td>
- <td>0</td>
-
- <td class='right'>95%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_response.html'>rest_framework/response</a></td>
- <td>42</td>
- <td>1</td>
- <td>0</td>
-
- <td class='right'>98%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_reverse.html'>rest_framework/reverse</a></td>
- <td>12</td>
- <td>3</td>
- <td>0</td>
-
- <td class='right'>75%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_routers.html'>rest_framework/routers</a></td>
- <td>108</td>
- <td>7</td>
- <td>0</td>
-
- <td class='right'>94%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_serializers.html'>rest_framework/serializers</a></td>
- <td>464</td>
- <td>27</td>
- <td>0</td>
-
- <td class='right'>94%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_settings.html'>rest_framework/settings</a></td>
- <td>44</td>
- <td>2</td>
- <td>0</td>
-
- <td class='right'>95%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_status.html'>rest_framework/status</a></td>
- <td>46</td>
- <td>0</td>
- <td>0</td>
-
- <td class='right'>100%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_throttling.html'>rest_framework/throttling</a></td>
- <td>90</td>
- <td>17</td>
- <td>0</td>
-
- <td class='right'>81%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_urlpatterns.html'>rest_framework/urlpatterns</a></td>
- <td>31</td>
- <td>4</td>
- <td>0</td>
-
- <td class='right'>87%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_urls.html'>rest_framework/urls</a></td>
- <td>4</td>
- <td>0</td>
- <td>0</td>
-
- <td class='right'>100%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_utils___init__.html'>rest_framework/utils/__init__</a></td>
- <td>0</td>
- <td>0</td>
- <td>0</td>
-
- <td class='right'>100%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_utils_breadcrumbs.html'>rest_framework/utils/breadcrumbs</a></td>
- <td>27</td>
- <td>0</td>
- <td>0</td>
-
- <td class='right'>100%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_utils_encoders.html'>rest_framework/utils/encoders</a></td>
- <td>70</td>
- <td>19</td>
- <td>0</td>
-
- <td class='right'>73%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_utils_formatting.html'>rest_framework/utils/formatting</a></td>
- <td>39</td>
- <td>1</td>
- <td>0</td>
-
- <td class='right'>97%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_utils_mediatypes.html'>rest_framework/utils/mediatypes</a></td>
- <td>44</td>
- <td>10</td>
- <td>0</td>
-
- <td class='right'>77%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_views.html'>rest_framework/views</a></td>
- <td>146</td>
- <td>0</td>
- <td>0</td>
-
- <td class='right'>100%</td>
- </tr>
-
- <tr class='file'>
- <td class='name left'><a href='rest_framework_viewsets.html'>rest_framework/viewsets</a></td>
- <td>39</td>
- <td>2</td>
- <td>0</td>
-
- <td class='right'>95%</td>
- </tr>
-
- </tbody>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/jquery-1.4.3.min.js b/htmlcov/jquery-1.4.3.min.js
deleted file mode 100644
index c941a5f7..00000000
--- a/htmlcov/jquery-1.4.3.min.js
+++ /dev/null
@@ -1,166 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.3
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Oct 14 23:10:06 2010 -0400
- */
-(function(E,A){function U(){return false}function ba(){return true}function ja(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ga(a){var b,d,e=[],f=[],h,k,l,n,s,v,B,D;k=c.data(this,this.nodeType?"events":"__events__");if(typeof k==="function")k=k.events;if(!(a.liveFired===this||!k||!k.live||a.button&&a.type==="click")){if(a.namespace)D=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var H=k.live.slice(0);for(n=0;n<H.length;n++){k=H[n];k.origType.replace(X,
-"")===a.type?f.push(k.selector):H.splice(n--,1)}f=c(a.target).closest(f,a.currentTarget);s=0;for(v=f.length;s<v;s++){B=f[s];for(n=0;n<H.length;n++){k=H[n];if(B.selector===k.selector&&(!D||D.test(k.namespace))){l=B.elem;h=null;if(k.preType==="mouseenter"||k.preType==="mouseleave"){a.type=k.preType;h=c(a.relatedTarget).closest(k.selector)[0]}if(!h||h!==l)e.push({elem:l,handleObj:k,level:B.level})}}}s=0;for(v=e.length;s<v;s++){f=e[s];if(d&&f.level>d)break;a.currentTarget=f.elem;a.data=f.handleObj.data;
-a.handleObj=f.handleObj;D=f.handleObj.origHandler.apply(f.elem,arguments);if(D===false||a.isPropagationStopped()){d=f.level;if(D===false)b=false}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(Ha,"`").replace(Ia,"&")}function ka(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Ja.test(b))return c.filter(b,
-e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function la(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var k in e[h])c.event.add(this,h,e[h][k],e[h][k].data)}}})}function Ka(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}
-function ma(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?La:Ma,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function ca(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Na.test(a)?e(a,h):ca(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?
-e(a,""):c.each(b,function(f,h){ca(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(na.concat.apply([],na.slice(0,b)),function(){d[this]=a});return d}function oa(a){if(!da[a]){var b=c("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";da[a]=d}return da[a]}function ea(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var u=E.document,c=function(){function a(){if(!b.isReady){try{u.documentElement.doScroll("left")}catch(i){setTimeout(a,
-1);return}b.ready()}}var b=function(i,r){return new b.fn.init(i,r)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,k=/\S/,l=/^\s+/,n=/\s+$/,s=/\W/,v=/\d/,B=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,D=/^[\],:{}\s]*$/,H=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,G=/(?:^|:|,)(?:\s*\[)+/g,M=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,j=/(msie) ([\w.]+)/,o=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,
-q=[],t,x=Object.prototype.toString,C=Object.prototype.hasOwnProperty,P=Array.prototype.push,N=Array.prototype.slice,R=String.prototype.trim,Q=Array.prototype.indexOf,L={};b.fn=b.prototype={init:function(i,r){var y,z,F;if(!i)return this;if(i.nodeType){this.context=this[0]=i;this.length=1;return this}if(i==="body"&&!r&&u.body){this.context=u;this[0]=u.body;this.selector="body";this.length=1;return this}if(typeof i==="string")if((y=h.exec(i))&&(y[1]||!r))if(y[1]){F=r?r.ownerDocument||r:u;if(z=B.exec(i))if(b.isPlainObject(r)){i=
-[u.createElement(z[1])];b.fn.attr.call(i,r,true)}else i=[F.createElement(z[1])];else{z=b.buildFragment([y[1]],[F]);i=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,i)}else{if((z=u.getElementById(y[2]))&&z.parentNode){if(z.id!==y[2])return f.find(i);this.length=1;this[0]=z}this.context=u;this.selector=i;return this}else if(!r&&!s.test(i)){this.selector=i;this.context=u;i=u.getElementsByTagName(i);return b.merge(this,i)}else return!r||r.jquery?(r||f).find(i):b(r).find(i);
-else if(b.isFunction(i))return f.ready(i);if(i.selector!==A){this.selector=i.selector;this.context=i.context}return b.makeArray(i,this)},selector:"",jquery:"1.4.3",length:0,size:function(){return this.length},toArray:function(){return N.call(this,0)},get:function(i){return i==null?this.toArray():i<0?this.slice(i)[0]:this[i]},pushStack:function(i,r,y){var z=b();b.isArray(i)?P.apply(z,i):b.merge(z,i);z.prevObject=this;z.context=this.context;if(r==="find")z.selector=this.selector+(this.selector?" ":
-"")+y;else if(r)z.selector=this.selector+"."+r+"("+y+")";return z},each:function(i,r){return b.each(this,i,r)},ready:function(i){b.bindReady();if(b.isReady)i.call(u,b);else q&&q.push(i);return this},eq:function(i){return i===-1?this.slice(i):this.slice(i,+i+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(i){return this.pushStack(b.map(this,function(r,y){return i.call(r,
-y,r)}))},end:function(){return this.prevObject||b(null)},push:P,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var i=arguments[0]||{},r=1,y=arguments.length,z=false,F,I,K,J,fa;if(typeof i==="boolean"){z=i;i=arguments[1]||{};r=2}if(typeof i!=="object"&&!b.isFunction(i))i={};if(y===r){i=this;--r}for(;r<y;r++)if((F=arguments[r])!=null)for(I in F){K=i[I];J=F[I];if(i!==J)if(z&&J&&(b.isPlainObject(J)||(fa=b.isArray(J)))){if(fa){fa=false;clone=K&&b.isArray(K)?K:[]}else clone=
-K&&b.isPlainObject(K)?K:{};i[I]=b.extend(z,clone,J)}else if(J!==A)i[I]=J}return i};b.extend({noConflict:function(i){E.$=e;if(i)E.jQuery=d;return b},isReady:false,readyWait:1,ready:function(i){i===true&&b.readyWait--;if(!b.readyWait||i!==true&&!b.isReady){if(!u.body)return setTimeout(b.ready,1);b.isReady=true;if(!(i!==true&&--b.readyWait>0)){if(q){for(var r=0;i=q[r++];)i.call(u,b);q=null}b.fn.triggerHandler&&b(u).triggerHandler("ready")}}},bindReady:function(){if(!p){p=true;if(u.readyState==="complete")return setTimeout(b.ready,
-1);if(u.addEventListener){u.addEventListener("DOMContentLoaded",t,false);E.addEventListener("load",b.ready,false)}else if(u.attachEvent){u.attachEvent("onreadystatechange",t);E.attachEvent("onload",b.ready);var i=false;try{i=E.frameElement==null}catch(r){}u.documentElement.doScroll&&i&&a()}}},isFunction:function(i){return b.type(i)==="function"},isArray:Array.isArray||function(i){return b.type(i)==="array"},isWindow:function(i){return i&&typeof i==="object"&&"setInterval"in i},isNaN:function(i){return i==
-null||!v.test(i)||isNaN(i)},type:function(i){return i==null?String(i):L[x.call(i)]||"object"},isPlainObject:function(i){if(!i||b.type(i)!=="object"||i.nodeType||b.isWindow(i))return false;if(i.constructor&&!C.call(i,"constructor")&&!C.call(i.constructor.prototype,"isPrototypeOf"))return false;for(var r in i);return r===A||C.call(i,r)},isEmptyObject:function(i){for(var r in i)return false;return true},error:function(i){throw i;},parseJSON:function(i){if(typeof i!=="string"||!i)return null;i=b.trim(i);
-if(D.test(i.replace(H,"@").replace(w,"]").replace(G,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(i):(new Function("return "+i))();else b.error("Invalid JSON: "+i)},noop:function(){},globalEval:function(i){if(i&&k.test(i)){var r=u.getElementsByTagName("head")[0]||u.documentElement,y=u.createElement("script");y.type="text/javascript";if(b.support.scriptEval)y.appendChild(u.createTextNode(i));else y.text=i;r.insertBefore(y,r.firstChild);r.removeChild(y)}},nodeName:function(i,r){return i.nodeName&&i.nodeName.toUpperCase()===
-r.toUpperCase()},each:function(i,r,y){var z,F=0,I=i.length,K=I===A||b.isFunction(i);if(y)if(K)for(z in i){if(r.apply(i[z],y)===false)break}else for(;F<I;){if(r.apply(i[F++],y)===false)break}else if(K)for(z in i){if(r.call(i[z],z,i[z])===false)break}else for(y=i[0];F<I&&r.call(y,F,y)!==false;y=i[++F]);return i},trim:R?function(i){return i==null?"":R.call(i)}:function(i){return i==null?"":i.toString().replace(l,"").replace(n,"")},makeArray:function(i,r){var y=r||[];if(i!=null){var z=b.type(i);i.length==
-null||z==="string"||z==="function"||z==="regexp"||b.isWindow(i)?P.call(y,i):b.merge(y,i)}return y},inArray:function(i,r){if(r.indexOf)return r.indexOf(i);for(var y=0,z=r.length;y<z;y++)if(r[y]===i)return y;return-1},merge:function(i,r){var y=i.length,z=0;if(typeof r.length==="number")for(var F=r.length;z<F;z++)i[y++]=r[z];else for(;r[z]!==A;)i[y++]=r[z++];i.length=y;return i},grep:function(i,r,y){var z=[],F;y=!!y;for(var I=0,K=i.length;I<K;I++){F=!!r(i[I],I);y!==F&&z.push(i[I])}return z},map:function(i,
-r,y){for(var z=[],F,I=0,K=i.length;I<K;I++){F=r(i[I],I,y);if(F!=null)z[z.length]=F}return z.concat.apply([],z)},guid:1,proxy:function(i,r,y){if(arguments.length===2)if(typeof r==="string"){y=i;i=y[r];r=A}else if(r&&!b.isFunction(r)){y=r;r=A}if(!r&&i)r=function(){return i.apply(y||this,arguments)};if(i)r.guid=i.guid=i.guid||r.guid||b.guid++;return r},access:function(i,r,y,z,F,I){var K=i.length;if(typeof r==="object"){for(var J in r)b.access(i,J,r[J],z,F,y);return i}if(y!==A){z=!I&&z&&b.isFunction(y);
-for(J=0;J<K;J++)F(i[J],r,z?y.call(i[J],J,F(i[J],r)):y,I);return i}return K?F(i[0],r):A},now:function(){return(new Date).getTime()},uaMatch:function(i){i=i.toLowerCase();i=M.exec(i)||g.exec(i)||j.exec(i)||i.indexOf("compatible")<0&&o.exec(i)||[];return{browser:i[1]||"",version:i[2]||"0"}},browser:{}});b.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(i,r){L["[object "+r+"]"]=r.toLowerCase()});m=b.uaMatch(m);if(m.browser){b.browser[m.browser]=true;b.browser.version=
-m.version}if(b.browser.webkit)b.browser.safari=true;if(Q)b.inArray=function(i,r){return Q.call(r,i)};if(!/\s/.test("\u00a0")){l=/^[\s\xA0]+/;n=/[\s\xA0]+$/}f=b(u);if(u.addEventListener)t=function(){u.removeEventListener("DOMContentLoaded",t,false);b.ready()};else if(u.attachEvent)t=function(){if(u.readyState==="complete"){u.detachEvent("onreadystatechange",t);b.ready()}};return E.jQuery=E.$=b}();(function(){c.support={};var a=u.documentElement,b=u.createElement("script"),d=u.createElement("div"),
-e="script"+c.now();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],k=u.createElement("select"),l=k.appendChild(u.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),
-hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:l.selected,optDisabled:false,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};k.disabled=true;c.support.optDisabled=!l.disabled;b.type="text/javascript";try{b.appendChild(u.createTextNode("window."+e+"=1;"))}catch(n){}a.insertBefore(b,
-a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function s(){c.support.noCloneEvent=false;d.detachEvent("onclick",s)});d.cloneNode(true).fireEvent("onclick")}d=u.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=u.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var s=u.createElement("div");
-s.style.width=s.style.paddingLeft="1px";u.body.appendChild(s);c.boxModel=c.support.boxModel=s.offsetWidth===2;if("zoom"in s.style){s.style.display="inline";s.style.zoom=1;c.support.inlineBlockNeedsLayout=s.offsetWidth===2;s.style.display="";s.innerHTML="<div style='width:4px;'></div>";c.support.shrinkWrapBlocks=s.offsetWidth!==2}s.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var v=s.getElementsByTagName("td");c.support.reliableHiddenOffsets=v[0].offsetHeight===
-0;v[0].style.display="";v[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&v[0].offsetHeight===0;s.innerHTML="";u.body.removeChild(s).style.display="none"});a=function(s){var v=u.createElement("div");s="on"+s;var B=s in v;if(!B){v.setAttribute(s,"return;");B=typeof v[s]==="function"}return B};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",
-cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var pa={},Oa=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?pa:a;var e=a.nodeType,f=e?a[c.expando]:null,h=c.cache;if(!(e&&!f&&typeof b==="string"&&d===A)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=
-c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==A)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?pa:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);else if(d)delete f[e];else for(var k in a)delete a[k]}},acceptData:function(a){if(a.nodeName){var b=
-c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){if(typeof a==="undefined")return this.length?c.data(this[0]):null;else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===A){var e=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(e===A&&this.length){e=c.data(this[0],a);if(e===A&&this[0].nodeType===1){e=this[0].getAttribute("data-"+a);if(typeof e===
-"string")try{e=e==="true"?true:e==="false"?false:e==="null"?null:!c.isNaN(e)?parseFloat(e):Oa.test(e)?c.parseJSON(e):e}catch(f){}else e=A}}return e===A&&d[1]?this.data(d[0]):e}else return this.each(function(){var h=c(this),k=[d[0],b];h.triggerHandler("setData"+d[1]+"!",k);c.data(this,a,b);h.triggerHandler("changeData"+d[1]+"!",k)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=c.data(a,b);if(!d)return e||
-[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===A)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,
-a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var qa=/[\n\t]/g,ga=/\s+/,Pa=/\r/g,Qa=/^(?:href|src|style)$/,Ra=/^(?:button|input)$/i,Sa=/^(?:button|input|object|select|textarea)$/i,Ta=/^a(?:rea)?$/i,ra=/^(?:radio|checkbox)$/i;c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,
-a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(s){var v=c(this);v.addClass(a.call(this,s,v.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ga),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1)if(f.className){for(var h=" "+f.className+" ",k=f.className,l=0,n=b.length;l<n;l++)if(h.indexOf(" "+b[l]+" ")<0)k+=" "+b[l];f.className=c.trim(k)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(n){var s=
-c(this);s.removeClass(a.call(this,n,s.attr("class")))});if(a&&typeof a==="string"||a===A)for(var b=(a||"").split(ga),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1&&f.className)if(a){for(var h=(" "+f.className+" ").replace(qa," "),k=0,l=b.length;k<l;k++)h=h.replace(" "+b[k]+" "," ");f.className=c.trim(h)}else f.className=""}return this},toggleClass:function(a,b){var d=typeof a,e=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var h=c(this);h.toggleClass(a.call(this,
-f,h.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var f,h=0,k=c(this),l=b,n=a.split(ga);f=n[h++];){l=e?l:!k.hasClass(f);k[l?"addClass":"removeClass"](f)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(qa," ").indexOf(a)>-1)return true;return false},
-val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h<e;h++){var k=f[h];if(k.selected&&(c.support.optDisabled?!k.disabled:k.getAttribute("disabled")===null)&&(!k.parentNode.disabled||!c.nodeName(k.parentNode,"optgroup"))){a=c(k).val();if(b)return a;d.push(a)}}return d}if(ra.test(b.type)&&
-!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Pa,"")}return A}var l=c.isFunction(a);return this.each(function(n){var s=c(this),v=a;if(this.nodeType===1){if(l)v=a.call(this,n,s.val());if(v==null)v="";else if(typeof v==="number")v+="";else if(c.isArray(v))v=c.map(v,function(D){return D==null?"":D+""});if(c.isArray(v)&&ra.test(this.type))this.checked=c.inArray(s.val(),v)>=0;else if(c.nodeName(this,"select")){var B=c.makeArray(v);c("option",this).each(function(){this.selected=
-c.inArray(c(this).val(),B)>=0});if(!B.length)this.selectedIndex=-1}else this.value=v}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return A;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==A;b=e&&c.props[b]||b;if(a.nodeType===1){var h=Qa.test(b);if((b in a||a[b]!==A)&&e&&!h){if(f){b==="type"&&Ra.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
-if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:Sa.test(a.nodeName)||Ta.test(a.nodeName)&&a.href?0:A;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return A;a=!c.support.hrefNormalized&&e&&
-h?a.getAttribute(b,2):a.getAttribute(b);return a===null?A:a}}});var X=/\.(.*)$/,ha=/^(?:textarea|input|select)$/i,Ha=/\./g,Ia=/ /g,Ua=/[^\w\s.|`]/g,Va=function(a){return a.replace(Ua,"\\$&")},sa={focusin:0,focusout:0};c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var k=a.nodeType?"events":"__events__",l=h[k],n=h.handle;if(typeof l===
-"function"){n=l.handle;l=l.events}else if(!l){a.nodeType||(h[k]=h=function(){});h.events=l={}}if(!n)h.handle=n=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(n.elem,arguments):A};n.elem=a;b=b.split(" ");for(var s=0,v;k=b[s++];){h=f?c.extend({},f):{handler:d,data:e};if(k.indexOf(".")>-1){v=k.split(".");k=v.shift();h.namespace=v.slice(0).sort().join(".")}else{v=[];h.namespace=""}h.type=k;if(!h.guid)h.guid=d.guid;var B=l[k],D=c.event.special[k]||{};if(!B){B=l[k]=[];
-if(!D.setup||D.setup.call(a,e,v,n)===false)if(a.addEventListener)a.addEventListener(k,n,false);else a.attachEvent&&a.attachEvent("on"+k,n)}if(D.add){D.add.call(a,h);if(!h.handler.guid)h.handler.guid=d.guid}B.push(h);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,k=0,l,n,s,v,B,D,H=a.nodeType?"events":"__events__",w=c.data(a),G=w&&w[H];if(w&&G){if(typeof G==="function"){w=G;G=G.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||
-typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in G)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[k++];){v=f;l=f.indexOf(".")<0;n=[];if(!l){n=f.split(".");f=n.shift();s=RegExp("(^|\\.)"+c.map(n.slice(0).sort(),Va).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(B=G[f])if(d){v=c.event.special[f]||{};for(h=e||0;h<B.length;h++){D=B[h];if(d.guid===D.guid){if(l||s.test(D.namespace)){e==null&&B.splice(h--,1);v.remove&&v.remove.call(a,D)}if(e!=null)break}}if(B.length===0||e!=null&&B.length===1){if(!v.teardown||
-v.teardown.call(a,n)===false)c.removeEvent(a,f,w.handle);delete G[f]}}else for(h=0;h<B.length;h++){D=B[h];if(l||s.test(D.namespace)){c.event.remove(a,v,D.handler,h);B.splice(h--,1)}}}if(c.isEmptyObject(G)){if(b=w.handle)b.elem=null;delete w.events;delete w.handle;if(typeof w==="function")c.removeData(a,H);else c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var f=a.type||a;if(!e){a=typeof a==="object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=
-f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return A;a.result=A;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===
-false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){e=a.target;var k,l=f.replace(X,""),n=c.nodeName(e,"a")&&l==="click",s=c.event.special[l]||{};if((!s._default||s._default.call(d,a)===false)&&!n&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[l]){if(k=e["on"+l])e["on"+l]=null;c.event.triggered=true;e[l]()}}catch(v){}if(k)e["on"+l]=k;c.event.triggered=false}}},handle:function(a){var b,d,e;
-d=[];var f,h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var k=d.length;f<k;f++){var l=d[f];if(b||e.test(l.namespace)){a.handler=l.handler;a.data=
-l.data;a.handleObj=l;l=l.handler.apply(this,h);if(l!==A){a.result=l;if(l===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-fix:function(a){if(a[c.expando])return a;var b=a;a=c.Event(b);for(var d=this.props.length,e;d;){e=this.props[--d];a[e]=b[e]}if(!a.target)a.target=a.srcElement||u;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=u.documentElement;d=u.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which==null&&(a.charCode!=null||a.keyCode!=null))a.which=a.charCode!=null?a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==A)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.extend({},a,{handler:Ga,guid:a.handler.guid}))},remove:function(a){c.event.remove(this,
-Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.isWindow(this))this.onbeforeunload=d},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.removeEvent=u.removeEventListener?function(a,b,d){a.removeEventListener&&a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=
-c.now();this[c.expando]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ba;var a=this.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else a.returnValue=false},stopPropagation:function(){this.isPropagationStopped=ba;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ba;this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U};
-var ta=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},ua=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?ua:ta,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?ua:ta)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!==
-"form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){a.liveFired=A;return ja("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){a.liveFired=A;return ja("submit",this,arguments)}})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var V,
-va=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ha.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=va(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===A||f===e))if(e!=null||f){a.type="change";a.liveFired=
-A;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",va(a))}},setup:function(){if(this.type===
-"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ha.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ha.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}u.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){sa[b]++===0&&u.addEventListener(a,d,true)},teardown:function(){--sa[b]===
-0&&u.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=A}var k=b==="one"?c.proxy(f,function(n){c(this).unbind(n,k);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var l=this.length;h<l;h++)c.event.add(this[h],d,k,e)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d,
-a[d]);else{d=0;for(var e=this.length;d<e;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,e){return this.live(b,d,e,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var d=c.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b,this[0]);return d.result}},toggle:function(a){for(var b=arguments,d=
-1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(e){var f=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,f+1);e.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var wa={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,e,f,h){var k,l=0,n,s,v=h||this.selector;h=h?this:c(this.context);if(typeof d===
-"object"&&!d.preventDefault){for(k in d)h[b](k,e,d[k],v);return this}if(c.isFunction(e)){f=e;e=A}for(d=(d||"").split(" ");(k=d[l++])!=null;){n=X.exec(k);s="";if(n){s=n[0];k=k.replace(X,"")}if(k==="hover")d.push("mouseenter"+s,"mouseleave"+s);else{n=k;if(k==="focus"||k==="blur"){d.push(wa[k]+s);k+=s}else k=(wa[k]||k)+s;if(b==="live"){s=0;for(var B=h.length;s<B;s++)c.event.add(h[s],"live."+Y(k,v),{data:e,selector:v,handler:f,origType:k,origHandler:f,preType:n})}else h.unbind("live."+Y(k,v),f)}}return this}});
-c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d,e){if(e==null){e=d;d=null}return arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
-(function(){function a(g,j,o,m,p,q){p=0;for(var t=m.length;p<t;p++){var x=m[p];if(x){x=x[g];for(var C=false;x;){if(x.sizcache===o){C=m[x.sizset];break}if(x.nodeType===1&&!q){x.sizcache=o;x.sizset=p}if(x.nodeName.toLowerCase()===j){C=x;break}x=x[g]}m[p]=C}}}function b(g,j,o,m,p,q){p=0;for(var t=m.length;p<t;p++){var x=m[p];if(x){x=x[g];for(var C=false;x;){if(x.sizcache===o){C=m[x.sizset];break}if(x.nodeType===1){if(!q){x.sizcache=o;x.sizset=p}if(typeof j!=="string"){if(x===j){C=true;break}}else if(l.filter(j,
-[x]).length>0){C=x;break}}x=x[g]}m[p]=C}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,k=true;[0,0].sort(function(){k=false;return 0});var l=function(g,j,o,m){o=o||[];var p=j=j||u;if(j.nodeType!==1&&j.nodeType!==9)return[];if(!g||typeof g!=="string")return o;var q=[],t,x,C,P,N=true,R=l.isXML(j),Q=g,L;do{d.exec("");if(t=d.exec(Q)){Q=t[3];q.push(t[1]);if(t[2]){P=t[3];
-break}}}while(t);if(q.length>1&&s.exec(g))if(q.length===2&&n.relative[q[0]])x=M(q[0]+q[1],j);else for(x=n.relative[q[0]]?[j]:l(q.shift(),j);q.length;){g=q.shift();if(n.relative[g])g+=q.shift();x=M(g,x)}else{if(!m&&q.length>1&&j.nodeType===9&&!R&&n.match.ID.test(q[0])&&!n.match.ID.test(q[q.length-1])){t=l.find(q.shift(),j,R);j=t.expr?l.filter(t.expr,t.set)[0]:t.set[0]}if(j){t=m?{expr:q.pop(),set:D(m)}:l.find(q.pop(),q.length===1&&(q[0]==="~"||q[0]==="+")&&j.parentNode?j.parentNode:j,R);x=t.expr?l.filter(t.expr,
-t.set):t.set;if(q.length>0)C=D(x);else N=false;for(;q.length;){t=L=q.pop();if(n.relative[L])t=q.pop();else L="";if(t==null)t=j;n.relative[L](C,t,R)}}else C=[]}C||(C=x);C||l.error(L||g);if(f.call(C)==="[object Array]")if(N)if(j&&j.nodeType===1)for(g=0;C[g]!=null;g++){if(C[g]&&(C[g]===true||C[g].nodeType===1&&l.contains(j,C[g])))o.push(x[g])}else for(g=0;C[g]!=null;g++)C[g]&&C[g].nodeType===1&&o.push(x[g]);else o.push.apply(o,C);else D(C,o);if(P){l(P,p,o,m);l.uniqueSort(o)}return o};l.uniqueSort=function(g){if(w){h=
-k;g.sort(w);if(h)for(var j=1;j<g.length;j++)g[j]===g[j-1]&&g.splice(j--,1)}return g};l.matches=function(g,j){return l(g,null,null,j)};l.matchesSelector=function(g,j){return l(j,null,null,[g]).length>0};l.find=function(g,j,o){var m;if(!g)return[];for(var p=0,q=n.order.length;p<q;p++){var t=n.order[p],x;if(x=n.leftMatch[t].exec(g)){var C=x[1];x.splice(1,1);if(C.substr(C.length-1)!=="\\"){x[1]=(x[1]||"").replace(/\\/g,"");m=n.find[t](x,j,o);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=j.getElementsByTagName("*"));
-return{set:m,expr:g}};l.filter=function(g,j,o,m){for(var p=g,q=[],t=j,x,C,P=j&&j[0]&&l.isXML(j[0]);g&&j.length;){for(var N in n.filter)if((x=n.leftMatch[N].exec(g))!=null&&x[2]){var R=n.filter[N],Q,L;L=x[1];C=false;x.splice(1,1);if(L.substr(L.length-1)!=="\\"){if(t===q)q=[];if(n.preFilter[N])if(x=n.preFilter[N](x,t,o,q,m,P)){if(x===true)continue}else C=Q=true;if(x)for(var i=0;(L=t[i])!=null;i++)if(L){Q=R(L,x,i,t);var r=m^!!Q;if(o&&Q!=null)if(r)C=true;else t[i]=false;else if(r){q.push(L);C=true}}if(Q!==
-A){o||(t=q);g=g.replace(n.match[N],"");if(!C)return[];break}}}if(g===p)if(C==null)l.error(g);else break;p=g}return t};l.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=l.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
-POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,j){var o=typeof j==="string",m=o&&!/\W/.test(j);o=o&&!m;if(m)j=j.toLowerCase();m=0;for(var p=g.length,q;m<p;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=o||q&&q.nodeName.toLowerCase()===
-j?q||false:q===j}o&&l.filter(j,g,true)},">":function(g,j){var o=typeof j==="string",m,p=0,q=g.length;if(o&&!/\W/.test(j))for(j=j.toLowerCase();p<q;p++){if(m=g[p]){o=m.parentNode;g[p]=o.nodeName.toLowerCase()===j?o:false}}else{for(;p<q;p++)if(m=g[p])g[p]=o?m.parentNode:m.parentNode===j;o&&l.filter(j,g,true)}},"":function(g,j,o){var m=e++,p=b,q;if(typeof j==="string"&&!/\W/.test(j)){q=j=j.toLowerCase();p=a}p("parentNode",j,m,g,q,o)},"~":function(g,j,o){var m=e++,p=b,q;if(typeof j==="string"&&!/\W/.test(j)){q=
-j=j.toLowerCase();p=a}p("previousSibling",j,m,g,q,o)}},find:{ID:function(g,j,o){if(typeof j.getElementById!=="undefined"&&!o)return(g=j.getElementById(g[1]))&&g.parentNode?[g]:[]},NAME:function(g,j){if(typeof j.getElementsByName!=="undefined"){for(var o=[],m=j.getElementsByName(g[1]),p=0,q=m.length;p<q;p++)m[p].getAttribute("name")===g[1]&&o.push(m[p]);return o.length===0?null:o}},TAG:function(g,j){return j.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,j,o,m,p,q){g=" "+g[1].replace(/\\/g,
-"")+" ";if(q)return g;q=0;for(var t;(t=j[q])!=null;q++)if(t)if(p^(t.className&&(" "+t.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))o||m.push(t);else if(o)j[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var j=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=j[1]+(j[2]||1)-0;g[3]=j[3]-0}g[0]=e++;return g},ATTR:function(g,j,o,
-m,p,q){j=g[1].replace(/\\/g,"");if(!q&&n.attrMap[j])g[1]=n.attrMap[j];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,j,o,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=l(g[3],null,null,j);else{g=l.filter(g[3],j,o,true^p);o||m.push.apply(m,g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===
-true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,j,o){return!!l(o[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===
-g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,j){return j===0},last:function(g,j,o,m){return j===m.length-1},even:function(g,j){return j%2===0},odd:function(g,j){return j%2===1},lt:function(g,j,o){return j<o[3]-0},gt:function(g,j,o){return j>o[3]-0},nth:function(g,j,o){return o[3]-
-0===j},eq:function(g,j,o){return o[3]-0===j}},filter:{PSEUDO:function(g,j,o,m){var p=j[1],q=n.filters[p];if(q)return q(g,o,j,m);else if(p==="contains")return(g.textContent||g.innerText||l.getText([g])||"").indexOf(j[3])>=0;else if(p==="not"){j=j[3];o=0;for(m=j.length;o<m;o++)if(j[o]===g)return false;return true}else l.error("Syntax error, unrecognized expression: "+p)},CHILD:function(g,j){var o=j[1],m=g;switch(o){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(o===
-"first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":o=j[2];var p=j[3];if(o===1&&p===0)return true;var q=j[0],t=g.parentNode;if(t&&(t.sizcache!==q||!g.nodeIndex)){var x=0;for(m=t.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++x;t.sizcache=q}m=g.nodeIndex-p;return o===0?m===0:m%o===0&&m/o>=0}},ID:function(g,j){return g.nodeType===1&&g.getAttribute("id")===j},TAG:function(g,j){return j==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===
-j},CLASS:function(g,j){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(j)>-1},ATTR:function(g,j){var o=j[1];o=n.attrHandle[o]?n.attrHandle[o](g):g[o]!=null?g[o]:g.getAttribute(o);var m=o+"",p=j[2],q=j[4];return o==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&o!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,j,o,m){var p=n.setFilters[j[2]];
-if(p)return p(g,o,j,m)}}},s=n.match.POS,v=function(g,j){return"\\"+(j-0+1)},B;for(B in n.match){n.match[B]=RegExp(n.match[B].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[B]=RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[B].source.replace(/\\(\d+)/g,v))}var D=function(g,j){g=Array.prototype.slice.call(g,0);if(j){j.push.apply(j,g);return j}return g};try{Array.prototype.slice.call(u.documentElement.childNodes,0)}catch(H){D=function(g,j){var o=j||[],m=0;if(f.call(g)==="[object Array]")Array.prototype.push.apply(o,
-g);else if(typeof g.length==="number")for(var p=g.length;m<p;m++)o.push(g[m]);else for(;g[m];m++)o.push(g[m]);return o}}var w,G;if(u.documentElement.compareDocumentPosition)w=function(g,j){if(g===j){h=true;return 0}if(!g.compareDocumentPosition||!j.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(j)&4?-1:1};else{w=function(g,j){var o=[],m=[],p=g.parentNode,q=j.parentNode,t=p;if(g===j){h=true;return 0}else if(p===q)return G(g,j);else if(p){if(!q)return 1}else return-1;
-for(;t;){o.unshift(t);t=t.parentNode}for(t=q;t;){m.unshift(t);t=t.parentNode}p=o.length;q=m.length;for(t=0;t<p&&t<q;t++)if(o[t]!==m[t])return G(o[t],m[t]);return t===p?G(g,m[t],-1):G(o[t],j,1)};G=function(g,j,o){if(g===j)return o;for(g=g.nextSibling;g;){if(g===j)return-1;g=g.nextSibling}return 1}}l.getText=function(g){for(var j="",o,m=0;g[m];m++){o=g[m];if(o.nodeType===3||o.nodeType===4)j+=o.nodeValue;else if(o.nodeType!==8)j+=l.getText(o.childNodes)}return j};(function(){var g=u.createElement("div"),
-j="script"+(new Date).getTime();g.innerHTML="<a name='"+j+"'/>";var o=u.documentElement;o.insertBefore(g,o.firstChild);if(u.getElementById(j)){n.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:A:[]};n.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}o.removeChild(g);
-o=g=null})();(function(){var g=u.createElement("div");g.appendChild(u.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(j,o){var m=o.getElementsByTagName(j[1]);if(j[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(j){return j.getAttribute("href",2)};g=null})();u.querySelectorAll&&
-function(){var g=l,j=u.createElement("div");j.innerHTML="<p class='TEST'></p>";if(!(j.querySelectorAll&&j.querySelectorAll(".TEST").length===0)){l=function(m,p,q,t){p=p||u;if(!t&&!l.isXML(p))if(p.nodeType===9)try{return D(p.querySelectorAll(m),q)}catch(x){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var C=p.id,P=p.id="__sizzle__";try{return D(p.querySelectorAll("#"+P+" "+m),q)}catch(N){}finally{if(C)p.id=C;else p.removeAttribute("id")}}return g(m,p,q,t)};for(var o in g)l[o]=g[o];
-j=null}}();(function(){var g=u.documentElement,j=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,o=false;try{j.call(u.documentElement,":sizzle")}catch(m){o=true}if(j)l.matchesSelector=function(p,q){try{if(o||!n.match.PSEUDO.test(q))return j.call(p,q)}catch(t){}return l(q,null,null,[p]).length>0}})();(function(){var g=u.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===
-0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(j,o,m){if(typeof o.getElementsByClassName!=="undefined"&&!m)return o.getElementsByClassName(j[1])};g=null}}})();l.contains=u.documentElement.contains?function(g,j){return g!==j&&(g.contains?g.contains(j):true)}:function(g,j){return!!(g.compareDocumentPosition(j)&16)};l.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var M=function(g,
-j){for(var o=[],m="",p,q=j.nodeType?[j]:j;p=n.match.PSEUDO.exec(g);){m+=p[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;p=0;for(var t=q.length;p<t;p++)l(g,q[p],o);return l.filter(m,o)};c.find=l;c.expr=l.selectors;c.expr[":"]=c.expr.filters;c.unique=l.uniqueSort;c.text=l.getText;c.isXMLDoc=l.isXML;c.contains=l.contains})();var Wa=/Until$/,Xa=/^(?:parents|prevUntil|prevAll)/,Ya=/,/,Ja=/^.[^:#\[\.,]*$/,Za=Array.prototype.slice,$a=c.expr.match.POS;c.fn.extend({find:function(a){for(var b=this.pushStack("",
-"find",a),d=0,e=0,f=this.length;e<f;e++){d=b.length;c.find(a,this[e],b);if(e>0)for(var h=d;h<b.length;h++)for(var k=0;k<d;k++)if(b[k]===b[h]){b.splice(h--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,e=b.length;d<e;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(ka(this,a,false),"not",a)},filter:function(a){return this.pushStack(ka(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,
-b){var d=[],e,f,h=this[0];if(c.isArray(a)){var k={},l,n=1;if(h&&a.length){e=0;for(f=a.length;e<f;e++){l=a[e];k[l]||(k[l]=c.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.ownerDocument&&h!==b;){for(l in k){e=k[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:h,level:n})}h=h.parentNode;n++}}return d}k=$a.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e<f;e++)for(h=this[e];h;)if(k?k.index(h)>-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||
-!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});
-c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",
-d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Wa.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||Ya.test(e))&&Xa.test(a))f=f.reverse();return this.pushStack(f,a,Za.call(arguments).join(","))}});
-c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===A||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var xa=/ jQuery\d+="(?:\d+|null)"/g,
-$=/^\s+/,ya=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,za=/<([\w:]+)/,ab=/<tbody/i,bb=/<|&#?\w+;/,Aa=/<(?:script|object|embed|option|style)/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,cb=/\=([^="'>\s]+\/)>/g,O={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],
-area:[1,"<map>","</map>"],_default:[0,"",""]};O.optgroup=O.option;O.tbody=O.tfoot=O.colgroup=O.caption=O.thead;O.th=O.td;if(!c.support.htmlSerialize)O._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==A)return this.empty().append((this[0]&&this[0].ownerDocument||u).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,
-d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},
-unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=
-c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));
-c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(xa,"").replace(cb,'="$1">').replace($,
-"")],e)[0]}else return this.cloneNode(true)});if(a===true){la(this,b);la(this.find("*"),b.find("*"))}return b},html:function(a){if(a===A)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(xa,""):null;else if(typeof a==="string"&&!Aa.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!O[(za.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ya,"<$1></$2>");try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(e){this.empty().append(a)}}else c.isFunction(a)?
-this.each(function(f){var h=c(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),e=d.html();d.replaceWith(a.call(this,b,e))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,
-true)},domManip:function(a,b,d){var e,f,h=a[0],k=[],l;if(!c.support.checkClone&&arguments.length===3&&typeof h==="string"&&Ba.test(h))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(h))return this.each(function(s){var v=c(this);a[0]=h.call(this,s,b?v.html():A);v.domManip(a,b,d)});if(this[0]){e=h&&h.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:c.buildFragment(a,this,k);l=e.fragment;if(f=l.childNodes.length===1?l=l.firstChild:
-l.firstChild){b=b&&c.nodeName(f,"tr");f=0;for(var n=this.length;f<n;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")):this[f]:this[f],f>0||e.cacheable||this.length>1?l.cloneNode(true):l)}k.length&&c.each(k,Ka)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:u;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===u&&!Aa.test(a[0])&&(c.support.checkClone||
-!Ba.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=
-d.length;f<h;f++){var k=(f>0?this.clone(true):this).get();c(d[f])[b](k);e=e.concat(k)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||u;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||u;for(var f=[],h=0,k;(k=a[h])!=null;h++){if(typeof k==="number")k+="";if(k){if(typeof k==="string"&&!bb.test(k))k=b.createTextNode(k);else if(typeof k==="string"){k=k.replace(ya,"<$1></$2>");var l=(za.exec(k)||["",""])[1].toLowerCase(),n=O[l]||O._default,
-s=n[0],v=b.createElement("div");for(v.innerHTML=n[1]+k+n[2];s--;)v=v.lastChild;if(!c.support.tbody){s=ab.test(k);l=l==="table"&&!s?v.firstChild&&v.firstChild.childNodes:n[1]==="<table>"&&!s?v.childNodes:[];for(n=l.length-1;n>=0;--n)c.nodeName(l[n],"tbody")&&!l[n].childNodes.length&&l[n].parentNode.removeChild(l[n])}!c.support.leadingWhitespace&&$.test(k)&&v.insertBefore(b.createTextNode($.exec(k)[0]),v.firstChild);k=v.childNodes}if(k.nodeType)f.push(k);else f=c.merge(f,k)}}if(d)for(h=0;f[h];h++)if(e&&
-c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,k=0,l;(l=a[k])!=null;k++)if(!(l.nodeName&&c.noData[l.nodeName.toLowerCase()]))if(d=l[c.expando]){if((b=e[d])&&b.events)for(var n in b.events)f[n]?
-c.event.remove(l,n):c.removeEvent(l,n,b.handle);if(h)delete l[c.expando];else l.removeAttribute&&l.removeAttribute(c.expando);delete e[d]}}});var Ca=/alpha\([^)]*\)/i,db=/opacity=([^)]*)/,eb=/-([a-z])/ig,fb=/([A-Z])/g,Da=/^-?\d+(?:px)?$/i,gb=/^-?\d/,hb={position:"absolute",visibility:"hidden",display:"block"},La=["Left","Right"],Ma=["Top","Bottom"],W,ib=u.defaultView&&u.defaultView.getComputedStyle,jb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===A)return this;
-return c.access(this,a,b,true,function(d,e,f){return f!==A?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),k=a.style,l=c.cssHooks[h];b=c.cssProps[h]||
-h;if(d!==A){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!l||!("set"in l)||(d=l.set(a,d))!==A)try{k[b]=d}catch(n){}}}else{if(l&&"get"in l&&(f=l.get(a,false,e))!==A)return f;return k[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==A)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=
-e[f]},camelCase:function(a){return a.replace(eb,jb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=ma(d,b,f);else c.swap(d,hb,function(){h=ma(d,b,f)});return h+"px"}},set:function(d,e){if(Da.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return db.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":
-b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=d.filter||"";d.filter=Ca.test(f)?f.replace(Ca,e):d.filter+" "+e}};if(ib)W=function(a,b,d){var e;d=d.replace(fb,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return A;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};else if(u.documentElement.currentStyle)W=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],
-h=a.style;if(!Da.test(f)&&gb.test(f)){d=h.left;e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f};if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var kb=c.now(),lb=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
-mb=/^(?:select|textarea)/i,nb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ob=/^(?:GET|HEAD|DELETE)$/,Na=/\[\]$/,T=/\=\?(&|$)/,ia=/\?/,pb=/([?&])_=[^&]*/,qb=/^(\w+:)?\/\/([^\/?#]+)/,rb=/%20/g,sb=/#.*$/,Ea=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ea)return Ea.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=
-b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(k,l){if(l==="success"||l==="notmodified")h.html(f?c("<div>").append(k.responseText.replace(lb,"")).find(f):k.responseText);d&&h.each(d,[k.responseText,l,k])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&
-!this.disabled&&(this.checked||mb.test(this.nodeName)||nb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})},
-getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",
-script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),k=ob.test(h);b.url=b.url.replace(sb,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ia.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data||
-!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+kb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var l=E[d];E[d]=function(m){f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);if(c.isFunction(l))l(m);else{E[d]=A;try{delete E[d]}catch(p){}}v&&v.removeChild(B)}}if(b.dataType==="script"&&b.cache===null)b.cache=
-false;if(b.cache===false&&h==="GET"){var n=c.now(),s=b.url.replace(pb,"$1_="+n);b.url=s+(s===b.url?(ia.test(b.url)?"&":"?")+"_="+n:"")}if(b.data&&h==="GET")b.url+=(ia.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");n=(n=qb.exec(b.url))&&(n[1]&&n[1]!==location.protocol||n[2]!==location.host);if(b.dataType==="script"&&h==="GET"&&n){var v=u.getElementsByTagName("head")[0]||u.documentElement,B=u.createElement("script");if(b.scriptCharset)B.charset=b.scriptCharset;B.src=
-b.url;if(!d){var D=false;B.onload=B.onreadystatechange=function(){if(!D&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){D=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);B.onload=B.onreadystatechange=null;v&&B.parentNode&&v.removeChild(B)}}}v.insertBefore(B,v.firstChild);return A}var H=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!k||a&&a.contentType)w.setRequestHeader("Content-Type",
-b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}n||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(G){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&&
-c.triggerGlobal(b,"ajaxSend",[w,b]);var M=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){H||c.handleComplete(b,w,e,f);H=true;if(w)w.onreadystatechange=c.noop}else if(!H&&w&&(w.readyState===4||m==="timeout")){H=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d||
-c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&g.call&&g.call(w);M("abort")}}catch(j){}b.async&&b.timeout>0&&setTimeout(function(){w&&!H&&M("timeout")},b.timeout);try{w.send(k||b.data==null?null:b.data)}catch(o){c.handleError(b,w,null,o);c.handleComplete(b,w,e,f)}b.async||M();return w}},param:function(a,b){var d=[],e=function(h,k){k=c.isFunction(k)?k():k;d[d.length]=encodeURIComponent(h)+
-"="+encodeURIComponent(k)};if(b===A)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)ca(f,a[f],b,e);return d.join("&").replace(rb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",[b,a])},handleComplete:function(a,
-b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),e=a.getResponseHeader("Etag");
-if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});if(E.ActiveXObject)c.ajaxSettings.xhr=
-function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var da={},tb=/^(?:toggle|show|hide)$/,ub=/^([+\-]=)?([\d+.\-]+)(.*)$/,aa,na=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",3),a,b,d);else{a=
-0;for(b=this.length;a<b;a++){if(!c.data(this[a],"olddisplay")&&this[a].style.display==="none")this[a].style.display="";this[a].style.display===""&&c.css(this[a],"display")==="none"&&c.data(this[a],"olddisplay",oa(this[a].nodeName))}for(a=0;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b,d){if(a||a===0)return this.animate(S("hide",3),a,b,d);else{a=0;for(b=this.length;a<b;a++){d=c.css(this[a],"display");d!=="none"&&c.data(this[a],"olddisplay",d)}for(a=
-0;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var f=e?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d,e)},animate:function(a,b,d,e){var f=c.speed(b,d,e);if(c.isEmptyObject(a))return this.each(f.complete);
-return this[f.queue===false?"each":"queue"](function(){var h=c.extend({},f),k,l=this.nodeType===1,n=l&&c(this).is(":hidden"),s=this;for(k in a){var v=c.camelCase(k);if(k!==v){a[v]=a[k];delete a[k];k=v}if(a[k]==="hide"&&n||a[k]==="show"&&!n)return h.complete.call(this);if(l&&(k==="height"||k==="width")){h.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(c.css(this,"display")==="inline"&&c.css(this,"float")==="none")if(c.support.inlineBlockNeedsLayout)if(oa(this.nodeName)===
-"inline")this.style.display="inline-block";else{this.style.display="inline";this.style.zoom=1}else this.style.display="inline-block"}if(c.isArray(a[k])){(h.specialEasing=h.specialEasing||{})[k]=a[k][1];a[k]=a[k][0]}}if(h.overflow!=null)this.style.overflow="hidden";h.curAnim=c.extend({},a);c.each(a,function(B,D){var H=new c.fx(s,h,B);if(tb.test(D))H[D==="toggle"?n?"show":"hide":D](a);else{var w=ub.exec(D),G=H.cur(true)||0;if(w){var M=parseFloat(w[2]),g=w[3]||"px";if(g!=="px"){c.style(s,B,(M||1)+g);
-G=(M||1)/H.cur(true)*G;c.style(s,B,G+g)}if(w[1])M=(w[1]==="-="?-1:1)*M+G;H.custom(G,M,g)}else H.custom(G,D,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var e=d.length-1;e>=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b,
-d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a*
-Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(h){return f.step(h)}
-this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;var f=this;a=c.fx;e.elem=this.elem;if(e()&&c.timers.push(e)&&!aa)aa=setInterval(a.tick,a.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;
-this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(l,n){f.style["overflow"+n]=h.overflow[l]})}this.options.hide&&c(this.elem).hide();if(this.options.hide||
-this.options.show)for(var k in this.options.curAnim)c.style(this.elem,k,this.options.orig[k]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=
-c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},interval:13,stop:function(){clearInterval(aa);aa=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===
-b.elem}).length};var vb=/^t(?:able|d|h)$/i,Fa=/^(?:body|html)$/i;c.fn.offset="getBoundingClientRect"in u.documentElement?function(a){var b=this[0],d;if(a)return this.each(function(k){c.offset.setOffset(this,a,k)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);try{d=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,h=f.documentElement;if(!d||!c.contains(h,b))return d||{top:0,left:0};b=f.body;f=ea(f);return{top:d.top+(f.pageYOffset||c.support.boxModel&&
-h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pageXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(s){c.offset.setOffset(this,a,s)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,e=b.ownerDocument,f,h=e.documentElement,k=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;
-for(var l=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==k&&b!==h;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;f=e?e.getComputedStyle(b,null):b.currentStyle;l-=b.scrollTop;n-=b.scrollLeft;if(b===d){l+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&vb.test(b.nodeName))){l+=parseFloat(f.borderTopWidth)||0;n+=parseFloat(f.borderLeftWidth)||0}d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&f.overflow!=="visible"){l+=
-parseFloat(f.borderTopWidth)||0;n+=parseFloat(f.borderLeftWidth)||0}f=f}if(f.position==="relative"||f.position==="static"){l+=k.offsetTop;n+=k.offsetLeft}if(c.offset.supportsFixedPosition&&f.position==="fixed"){l+=Math.max(h.scrollTop,k.scrollTop);n+=Math.max(h.scrollLeft,k.scrollLeft)}return{top:l,left:n}};c.offset={initialize:function(){var a=u.body,b=u.createElement("div"),d,e,f,h=parseFloat(c.css(a,"marginTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",
-height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);d=b.firstChild;e=d.firstChild;f=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=e.offsetTop!==5;this.doesAddBorderForTableAndCells=
-f.offsetTop===5;e.style.position="fixed";e.style.top="20px";this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15;e.style.position=e.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==h;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.css(a,
-"marginTop"))||0;d+=parseFloat(c.css(a,"marginLeft"))||0}return{top:b,left:d}},setOffset:function(a,b,d){var e=c.css(a,"position");if(e==="static")a.style.position="relative";var f=c(a),h=f.offset(),k=c.css(a,"top"),l=c.css(a,"left"),n=e==="absolute"&&c.inArray("auto",[k,l])>-1;e={};var s={};if(n)s=f.position();k=n?s.top:parseInt(k,10)||0;l=n?s.left:parseInt(l,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+k;if(b.left!=null)e.left=b.left-h.left+l;"using"in b?b.using.call(a,
-e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Fa.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||u.body;a&&!Fa.test(a.nodeName)&&
-c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==A)return this.each(function(){if(h=ea(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=ea(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();
-c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(h){var k=c(this);k[d](e.call(this,h,k[d]()))});return c.isWindow(f)?f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b]:f.nodeType===9?Math.max(f.documentElement["client"+
-b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]):e===A?parseFloat(c.css(f,d)):this.css(d,typeof e==="string"?e:e+"px")}})})(window);
diff --git a/htmlcov/jquery.hotkeys.js b/htmlcov/jquery.hotkeys.js
deleted file mode 100644
index 09b21e03..00000000
--- a/htmlcov/jquery.hotkeys.js
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * jQuery Hotkeys Plugin
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- *
- * Based upon the plugin by Tzury Bar Yochay:
- * http://github.com/tzuryby/hotkeys
- *
- * Original idea by:
- * Binny V A, http://www.openjs.com/scripts/events/keyboard_shortcuts/
-*/
-
-(function(jQuery){
-
- jQuery.hotkeys = {
- version: "0.8",
-
- specialKeys: {
- 8: "backspace", 9: "tab", 13: "return", 16: "shift", 17: "ctrl", 18: "alt", 19: "pause",
- 20: "capslock", 27: "esc", 32: "space", 33: "pageup", 34: "pagedown", 35: "end", 36: "home",
- 37: "left", 38: "up", 39: "right", 40: "down", 45: "insert", 46: "del",
- 96: "0", 97: "1", 98: "2", 99: "3", 100: "4", 101: "5", 102: "6", 103: "7",
- 104: "8", 105: "9", 106: "*", 107: "+", 109: "-", 110: ".", 111 : "/",
- 112: "f1", 113: "f2", 114: "f3", 115: "f4", 116: "f5", 117: "f6", 118: "f7", 119: "f8",
- 120: "f9", 121: "f10", 122: "f11", 123: "f12", 144: "numlock", 145: "scroll", 191: "/", 224: "meta"
- },
-
- shiftNums: {
- "`": "~", "1": "!", "2": "@", "3": "#", "4": "$", "5": "%", "6": "^", "7": "&",
- "8": "*", "9": "(", "0": ")", "-": "_", "=": "+", ";": ": ", "'": "\"", ",": "<",
- ".": ">", "/": "?", "\\": "|"
- }
- };
-
- function keyHandler( handleObj ) {
- // Only care when a possible input has been specified
- if ( typeof handleObj.data !== "string" ) {
- return;
- }
-
- var origHandler = handleObj.handler,
- keys = handleObj.data.toLowerCase().split(" ");
-
- handleObj.handler = function( event ) {
- // Don't fire in text-accepting inputs that we didn't directly bind to
- if ( this !== event.target && (/textarea|select/i.test( event.target.nodeName ) ||
- event.target.type === "text") ) {
- return;
- }
-
- // Keypress represents characters, not special keys
- var special = event.type !== "keypress" && jQuery.hotkeys.specialKeys[ event.which ],
- character = String.fromCharCode( event.which ).toLowerCase(),
- key, modif = "", possible = {};
-
- // check combinations (alt|ctrl|shift+anything)
- if ( event.altKey && special !== "alt" ) {
- modif += "alt+";
- }
-
- if ( event.ctrlKey && special !== "ctrl" ) {
- modif += "ctrl+";
- }
-
- // TODO: Need to make sure this works consistently across platforms
- if ( event.metaKey && !event.ctrlKey && special !== "meta" ) {
- modif += "meta+";
- }
-
- if ( event.shiftKey && special !== "shift" ) {
- modif += "shift+";
- }
-
- if ( special ) {
- possible[ modif + special ] = true;
-
- } else {
- possible[ modif + character ] = true;
- possible[ modif + jQuery.hotkeys.shiftNums[ character ] ] = true;
-
- // "$" can be triggered as "Shift+4" or "Shift+$" or just "$"
- if ( modif === "shift+" ) {
- possible[ jQuery.hotkeys.shiftNums[ character ] ] = true;
- }
- }
-
- for ( var i = 0, l = keys.length; i < l; i++ ) {
- if ( possible[ keys[i] ] ) {
- return origHandler.apply( this, arguments );
- }
- }
- };
- }
-
- jQuery.each([ "keydown", "keyup", "keypress" ], function() {
- jQuery.event.special[ this ] = { add: keyHandler };
- });
-
-})( jQuery );
diff --git a/htmlcov/jquery.isonscreen.js b/htmlcov/jquery.isonscreen.js
deleted file mode 100644
index 0182ebd2..00000000
--- a/htmlcov/jquery.isonscreen.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (c) 2010
- * @author Laurence Wheway
- * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
- * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
- *
- * @version 1.2.0
- */
-(function($) {
- jQuery.extend({
- isOnScreen: function(box, container) {
- //ensure numbers come in as intgers (not strings) and remove 'px' is it's there
- for(var i in box){box[i] = parseFloat(box[i])};
- for(var i in container){container[i] = parseFloat(container[i])};
-
- if(!container){
- container = {
- left: $(window).scrollLeft(),
- top: $(window).scrollTop(),
- width: $(window).width(),
- height: $(window).height()
- }
- }
-
- if( box.left+box.width-container.left > 0 &&
- box.left < container.width+container.left &&
- box.top+box.height-container.top > 0 &&
- box.top < container.height+container.top
- ) return true;
- return false;
- }
- })
-
-
- jQuery.fn.isOnScreen = function (container) {
- for(var i in container){container[i] = parseFloat(container[i])};
-
- if(!container){
- container = {
- left: $(window).scrollLeft(),
- top: $(window).scrollTop(),
- width: $(window).width(),
- height: $(window).height()
- }
- }
-
- if( $(this).offset().left+$(this).width()-container.left > 0 &&
- $(this).offset().left < container.width+container.left &&
- $(this).offset().top+$(this).height()-container.top > 0 &&
- $(this).offset().top < container.height+container.top
- ) return true;
- return false;
- }
-})(jQuery);
diff --git a/htmlcov/jquery.tablesorter.min.js b/htmlcov/jquery.tablesorter.min.js
deleted file mode 100644
index 64c70071..00000000
--- a/htmlcov/jquery.tablesorter.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-
-(function($){$.extend({tablesorter:new function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'.',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}var rows=table.tBodies[0].rows;if(table.tBodies[0].rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i<l;i++){var p=false;if($.metadata&&($($headers[i]).metadata()&&$($headers[i]).metadata().sorter)){p=getParserById($($headers[i]).metadata().sorter);}else if((table.config.headers[i]&&table.config.headers[i].sorter)){p=getParserById(table.config.headers[i].sorter);}if(!p){p=detectParserForColumn(table,cells[i]);}if(table.config.debug){parsersDebug+="column:"+i+" parser:"+p.id+"\n";}list.push(p);}}if(table.config.debug){log(parsersDebug);}return list;};function detectParserForColumn(table,node){var l=parsers.length;for(var i=1;i<l;i++){if(parsers[i].is($.trim(getElementText(table.config,node)),table,node)){return parsers[i];}}return parsers[0];}function getParserById(name){var l=parsers.length;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==name.toLowerCase()){return parsers[i];}}return false;}function buildCache(table){if(table.config.debug){var cacheTime=new Date();}var totalRows=(table.tBodies[0]&&table.tBodies[0].rows.length)||0,totalCells=(table.tBodies[0].rows[0]&&table.tBodies[0].rows[0].cells.length)||0,parsers=table.config.parsers,cache={row:[],normalized:[]};for(var i=0;i<totalRows;++i){var c=table.tBodies[0].rows[i],cols=[];cache.row.push($(c));for(var j=0;j<totalCells;++j){cols.push(parsers[j].format(getElementText(table.config,c.cells[j]),table,c.cells[j]));}cols.push(i);cache.normalized.push(cols);cols=null;};if(table.config.debug){benchmark("Building cache for "+totalRows+" rows:",cacheTime);}return cache;};function getElementText(config,node){if(!node)return"";var t="";if(config.textExtraction=="simple"){if(node.childNodes[0]&&node.childNodes[0].hasChildNodes()){t=node.childNodes[0].innerHTML;}else{t=node.innerHTML;}}else{if(typeof(config.textExtraction)=="function"){t=config.textExtraction(node);}else{t=$(node).text();}}return t;}function appendToTable(table,cache){if(table.config.debug){var appendTime=new Date()}var c=cache,r=c.row,n=c.normalized,totalRows=n.length,checkCell=(n[0].length-1),tableBody=$(table.tBodies[0]),rows=[];for(var i=0;i<totalRows;i++){rows.push(r[n[i][checkCell]]);if(!table.config.appender){var o=r[n[i][checkCell]];var l=o.length;for(var j=0;j<l;j++){tableBody[0].appendChild(o[j]);}}}if(table.config.appender){table.config.appender(table,rows);}rows=null;if(table.config.debug){benchmark("Rebuilt table:",appendTime);}applyWidget(table);setTimeout(function(){$(table).trigger("sortEnd");},0);};function buildHeaders(table){if(table.config.debug){var time=new Date();}var meta=($.metadata)?true:false,tableHeadersRows=[];for(var i=0;i<table.tHead.rows.length;i++){tableHeadersRows[i]=0;};$tableHeaders=$("thead th",table);$tableHeaders.each(function(index){this.count=0;this.column=index;this.order=formatSortingOrder(table.config.sortInitialOrder);if(checkHeaderMetadata(this)||checkHeaderOptions(table,index))this.sortDisabled=true;if(!this.sortDisabled){$(this).addClass(table.config.cssHeader);}table.config.headerList[index]=this;});if(table.config.debug){benchmark("Built headers:",time);log($tableHeaders);}return $tableHeaders;};function checkCellColSpan(table,rows,row){var arr=[],r=table.tHead.rows,c=r[row].cells;for(var i=0;i<c.length;i++){var cell=c[i];if(cell.colSpan>1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i<l;i++){getWidgetById(c[i]).format(table);}}function getWidgetById(name){var l=widgets.length;for(var i=0;i<l;i++){if(widgets[i].id.toLowerCase()==name.toLowerCase()){return widgets[i];}}};function formatSortingOrder(v){if(typeof(v)!="Number"){i=(v.toLowerCase()=="desc")?1:0;}else{i=(v==(0||1))?v:0;}return i;}function isValueInArray(v,a){var l=a.length;for(var i=0;i<l;i++){if(a[i][0]==v){return true;}}return false;}function setHeadersCss(table,$headers,list,css){$headers.removeClass(css[0]).removeClass(css[1]);var h=[];$headers.each(function(offset){if(!this.sortDisabled){h[this.column]=$(this);}});var l=list.length;for(var i=0;i<l;i++){h[list[i][0]].addClass(css[list[i][1]]);}}function fixColumnWidth(table,$headers){var c=table.config;if(c.widthFixed){var colgroup=$('<colgroup>');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('<col>').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i<l;i++){var s=sortList[i],o=c.headerList[s[0]];o.count=s[1];o.count++;}}function multisort(table,sortList,cache){if(table.config.debug){var sortTime=new Date();}var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0];var order=sortList[i][1];var s=(getCachedSortType(table.config.parsers,c)=="text")?((order==0)?"sortText":"sortTextDesc"):((order==0)?"sortNumeric":"sortNumericDesc");var e="e"+i;dynamicExp+="var "+e+" = "+s+"(a["+c+"],b["+c+"]); ";dynamicExp+="if("+e+") { return "+e+"; } ";dynamicExp+="else { ";}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++){dynamicExp+="}; ";}dynamicExp+="return 0; ";dynamicExp+="}; ";eval(dynamicExp);cache.normalized.sort(sortWrapper);if(table.config.debug){benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime);}return cache;};function sortText(a,b){return((a<b)?-1:((a>b)?1:0));};function sortTextDesc(a,b){return((b<a)?-1:((b>a)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){$this.trigger("sortStart");var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){var $cell=$(this);var i=this.column;this.order=this.count++%2;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j<a.length;j++){if(a[j][0]!=i){config.sortList.push(a[j]);}}}config.sortList.push([i,this.order]);}else{if(isValueInArray(i,config.sortList)){for(var j=0;j<config.sortList.length;j++){var s=config.sortList[j],o=config.headerList[s[0]];if(s[0]==i){o.count=s[1];o.count++;s[1]=o.count%2;}}}else{config.sortList.push([i,this.order]);}};setTimeout(function(){setHeadersCss($this[0],$headers,config.sortList,sortCSS);appendToTable($this[0],multisort($this[0],config.sortList,cache));},1);return false;}}).mousedown(function(){if(config.cancelSelection){this.onselectstart=function(){return false};return false;}});$this.bind("update",function(){this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);}).bind("sorton",function(e,list){$(this).trigger("sortStart");config.sortList=list;var sortList=config.sortList;updateHeaderSortCount(this,sortList);setHeadersCss(this,$headers,sortList,sortCSS);appendToTable(this,multisort(this,sortList,cache));}).bind("appendCache",function(){appendToTable(this,cache);}).bind("applyWidgetId",function(e,id){getWidgetById(id).format(this);}).bind("applyWidgets",function(){applyWidget(this);});if($.metadata&&($(this).metadata()&&$(this).metadata().sortlist)){config.sortList=$(this).metadata().sortlist;}if(config.sortList.length>0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==parser.id.toLowerCase()){a=false;}}if(a){parsers.push(parser);};};this.addWidget=function(widget){widgets.push(widget);};this.formatFloat=function(s){var i=parseFloat(s);return(isNaN(i))?0:i;};this.formatInt=function(s){var i=parseInt(s);return(isNaN(i))?0:i;};this.isDigit=function(s,config){var DECIMAL='\\'+config.decimal;var exp='/(^[+]?0('+DECIMAL+'0+)?$)|(^([-+]?[1-9][0-9]*)$)|(^([-+]?((0?|[1-9][0-9]*)'+DECIMAL+'(0*[1-9][0-9]*)))$)|(^[-+]?[1-9]+[0-9]*'+DECIMAL+'0+$)/';return RegExp(exp).test($.trim(s));};this.clearTableBody=function(table){if($.browser.msie){function empty(){while(this.firstChild)this.removeChild(this.firstChild);}empty.apply(table.tBodies[0]);}else{table.tBodies[0].innerHTML="";}};}});$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(s){return true;},format:function(s){return $.trim(s.toLowerCase());},type:"text"});ts.addParser({id:"digit",is:function(s,table){var c=table.config;return $.tablesorter.isDigit(s,c);},format:function(s){return $.tablesorter.formatFloat(s);},type:"numeric"});ts.addParser({id:"currency",is:function(s){return/^[£$€?.]/.test(s);},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/[^0-9.]/g),""));},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);},format:function(s){var a=s.split("."),r="",l=a.length;for(var i=0;i<l;i++){var item=a[i];if(item.length==2){r+="0"+item;}else{r+=item;}}return $.tablesorter.formatFloat(r);},type:"numeric"});ts.addParser({id:"url",is:function(s){return/^(https?|ftp|file):\/\/$/.test(s);},format:function(s){return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//),''));},type:"text"});ts.addParser({id:"isoDate",is:function(s){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s);},format:function(s){return $.tablesorter.formatFloat((s!="")?new Date(s.replace(new RegExp(/-/g),"/")).getTime():"0");},type:"numeric"});ts.addParser({id:"percent",is:function(s){return/\%$/.test($.trim(s));},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""));},type:"numeric"});ts.addParser({id:"usLongDate",is:function(s){return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/));},format:function(s){return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"shortDate",is:function(s){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s);},format:function(s,table){var c=table.config;s=s.replace(/\-/g,"/");if(c.dateFormat=="us"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2");}else if(c.dateFormat=="uk"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1");}else if(c.dateFormat=="dd/mm/yy"||c.dateFormat=="dd-mm-yy"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3");}return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"time",is:function(s){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s);},format:function(s){return $.tablesorter.formatFloat(new Date("2000/01/01 "+s).getTime());},type:"numeric"});ts.addParser({id:"metadata",is:function(s){return false;},format:function(s,table,cell){var c=table.config,p=(!c.parserMetadataName)?'sortValue':c.parserMetadataName;return $(cell).metadata()[p];},type:"numeric"});ts.addWidget({id:"zebra",format:function(table){if(table.config.debug){var time=new Date();}$("tr:visible",table.tBodies[0]).filter(':even').removeClass(table.config.widgetZebra.css[1]).addClass(table.config.widgetZebra.css[0]).end().filter(':odd').removeClass(table.config.widgetZebra.css[0]).addClass(table.config.widgetZebra.css[1]);if(table.config.debug){$.tablesorter.benchmark("Applying Zebra widget",time);}}});})(jQuery); \ No newline at end of file
diff --git a/htmlcov/keybd_closed.png b/htmlcov/keybd_closed.png
deleted file mode 100644
index f2b0418d..00000000
--- a/htmlcov/keybd_closed.png
+++ /dev/null
Binary files differ
diff --git a/htmlcov/keybd_open.png b/htmlcov/keybd_open.png
deleted file mode 100644
index a77961db..00000000
--- a/htmlcov/keybd_open.png
+++ /dev/null
Binary files differ
diff --git a/htmlcov/rest_framework___init__.html b/htmlcov/rest_framework___init__.html
deleted file mode 100644
index 9cb0c53a..00000000
--- a/htmlcov/rest_framework___init__.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/__init__: 100%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/__init__</b> :
- <span class='pc_cov'>100%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 4 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>4 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>0 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='stm run hide_run'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='stm run hide_run'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='stm run hide_run'><span class='nam'>__version__</span> <span class='op'>=</span> <span class='str'>&#39;2.3.5&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='stm run hide_run'><span class='nam'>VERSION</span> <span class='op'>=</span> <span class='nam'>__version__</span>&nbsp; <span class='com'># synonym</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='com'># Header encoding (see RFC5987)</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='nam'>HTTP_HEADER_ENCODING</span> <span class='op'>=</span> <span class='str'>&#39;iso-8859-1&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='com'># Default datetime input and output formats</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='nam'>ISO_8601</span> <span class='op'>=</span> <span class='str'>&#39;iso-8601&#39;</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_authentication.html b/htmlcov/rest_framework_authentication.html
deleted file mode 100644
index 899d0677..00000000
--- a/htmlcov/rest_framework_authentication.html
+++ /dev/null
@@ -1,767 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/authentication: 80%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/authentication</b> :
- <span class='pc_cov'>80%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 169 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>136 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>33 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='stm run hide_run'><a href='#n4'>4</a></p>
-<p id='n5' class='stm run hide_run'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='stm run hide_run'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='stm run hide_run'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='stm mis'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='stm run hide_run'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='stm run hide_run'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='stm run hide_run'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='stm run hide_run'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='stm run hide_run'><a href='#n64'>64</a></p>
-<p id='n65' class='pln'><a href='#n65'>65</a></p>
-<p id='n66' class='stm run hide_run'><a href='#n66'>66</a></p>
-<p id='n67' class='stm mis'><a href='#n67'>67</a></p>
-<p id='n68' class='stm mis'><a href='#n68'>68</a></p>
-<p id='n69' class='stm run hide_run'><a href='#n69'>69</a></p>
-<p id='n70' class='stm mis'><a href='#n70'>70</a></p>
-<p id='n71' class='stm mis'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='stm run hide_run'><a href='#n73'>73</a></p>
-<p id='n74' class='stm run hide_run'><a href='#n74'>74</a></p>
-<p id='n75' class='stm mis'><a href='#n75'>75</a></p>
-<p id='n76' class='stm mis'><a href='#n76'>76</a></p>
-<p id='n77' class='stm mis'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='stm run hide_run'><a href='#n79'>79</a></p>
-<p id='n80' class='stm run hide_run'><a href='#n80'>80</a></p>
-<p id='n81' class='pln'><a href='#n81'>81</a></p>
-<p id='n82' class='stm run hide_run'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='pln'><a href='#n85'>85</a></p>
-<p id='n86' class='stm run hide_run'><a href='#n86'>86</a></p>
-<p id='n87' class='stm run hide_run'><a href='#n87'>87</a></p>
-<p id='n88' class='stm mis'><a href='#n88'>88</a></p>
-<p id='n89' class='stm run hide_run'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='stm run hide_run'><a href='#n91'>91</a></p>
-<p id='n92' class='stm run hide_run'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='pln'><a href='#n94'>94</a></p>
-<p id='n95' class='stm run hide_run'><a href='#n95'>95</a></p>
-<p id='n96' class='pln'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='pln'><a href='#n99'>99</a></p>
-<p id='n100' class='stm run hide_run'><a href='#n100'>100</a></p>
-<p id='n101' class='pln'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='pln'><a href='#n103'>103</a></p>
-<p id='n104' class='pln'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='pln'><a href='#n106'>106</a></p>
-<p id='n107' class='stm run hide_run'><a href='#n107'>107</a></p>
-<p id='n108' class='stm run hide_run'><a href='#n108'>108</a></p>
-<p id='n109' class='pln'><a href='#n109'>109</a></p>
-<p id='n110' class='pln'><a href='#n110'>110</a></p>
-<p id='n111' class='stm run hide_run'><a href='#n111'>111</a></p>
-<p id='n112' class='stm run hide_run'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='pln'><a href='#n114'>114</a></p>
-<p id='n115' class='stm run hide_run'><a href='#n115'>115</a></p>
-<p id='n116' class='stm run hide_run'><a href='#n116'>116</a></p>
-<p id='n117' class='pln'><a href='#n117'>117</a></p>
-<p id='n118' class='stm run hide_run'><a href='#n118'>118</a></p>
-<p id='n119' class='pln'><a href='#n119'>119</a></p>
-<p id='n120' class='stm run hide_run'><a href='#n120'>120</a></p>
-<p id='n121' class='stm run hide_run'><a href='#n121'>121</a></p>
-<p id='n122' class='pln'><a href='#n122'>122</a></p>
-<p id='n123' class='stm run hide_run'><a href='#n123'>123</a></p>
-<p id='n124' class='pln'><a href='#n124'>124</a></p>
-<p id='n125' class='pln'><a href='#n125'>125</a></p>
-<p id='n126' class='stm run hide_run'><a href='#n126'>126</a></p>
-<p id='n127' class='pln'><a href='#n127'>127</a></p>
-<p id='n128' class='pln'><a href='#n128'>128</a></p>
-<p id='n129' class='stm run hide_run'><a href='#n129'>129</a></p>
-<p id='n130' class='pln'><a href='#n130'>130</a></p>
-<p id='n131' class='pln'><a href='#n131'>131</a></p>
-<p id='n132' class='pln'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='pln'><a href='#n134'>134</a></p>
-<p id='n135' class='pln'><a href='#n135'>135</a></p>
-<p id='n136' class='pln'><a href='#n136'>136</a></p>
-<p id='n137' class='pln'><a href='#n137'>137</a></p>
-<p id='n138' class='pln'><a href='#n138'>138</a></p>
-<p id='n139' class='stm run hide_run'><a href='#n139'>139</a></p>
-<p id='n140' class='pln'><a href='#n140'>140</a></p>
-<p id='n141' class='pln'><a href='#n141'>141</a></p>
-<p id='n142' class='pln'><a href='#n142'>142</a></p>
-<p id='n143' class='pln'><a href='#n143'>143</a></p>
-<p id='n144' class='pln'><a href='#n144'>144</a></p>
-<p id='n145' class='pln'><a href='#n145'>145</a></p>
-<p id='n146' class='pln'><a href='#n146'>146</a></p>
-<p id='n147' class='stm run hide_run'><a href='#n147'>147</a></p>
-<p id='n148' class='stm run hide_run'><a href='#n148'>148</a></p>
-<p id='n149' class='pln'><a href='#n149'>149</a></p>
-<p id='n150' class='stm run hide_run'><a href='#n150'>150</a></p>
-<p id='n151' class='stm run hide_run'><a href='#n151'>151</a></p>
-<p id='n152' class='pln'><a href='#n152'>152</a></p>
-<p id='n153' class='stm run hide_run'><a href='#n153'>153</a></p>
-<p id='n154' class='stm mis'><a href='#n154'>154</a></p>
-<p id='n155' class='stm mis'><a href='#n155'>155</a></p>
-<p id='n156' class='stm run hide_run'><a href='#n156'>156</a></p>
-<p id='n157' class='stm mis'><a href='#n157'>157</a></p>
-<p id='n158' class='stm mis'><a href='#n158'>158</a></p>
-<p id='n159' class='pln'><a href='#n159'>159</a></p>
-<p id='n160' class='stm run hide_run'><a href='#n160'>160</a></p>
-<p id='n161' class='pln'><a href='#n161'>161</a></p>
-<p id='n162' class='stm run hide_run'><a href='#n162'>162</a></p>
-<p id='n163' class='stm run hide_run'><a href='#n163'>163</a></p>
-<p id='n164' class='stm run hide_run'><a href='#n164'>164</a></p>
-<p id='n165' class='stm mis'><a href='#n165'>165</a></p>
-<p id='n166' class='stm mis'><a href='#n166'>166</a></p>
-<p id='n167' class='pln'><a href='#n167'>167</a></p>
-<p id='n168' class='stm run hide_run'><a href='#n168'>168</a></p>
-<p id='n169' class='stm mis'><a href='#n169'>169</a></p>
-<p id='n170' class='pln'><a href='#n170'>170</a></p>
-<p id='n171' class='stm run hide_run'><a href='#n171'>171</a></p>
-<p id='n172' class='pln'><a href='#n172'>172</a></p>
-<p id='n173' class='stm run hide_run'><a href='#n173'>173</a></p>
-<p id='n174' class='stm run hide_run'><a href='#n174'>174</a></p>
-<p id='n175' class='pln'><a href='#n175'>175</a></p>
-<p id='n176' class='pln'><a href='#n176'>176</a></p>
-<p id='n177' class='stm run hide_run'><a href='#n177'>177</a></p>
-<p id='n178' class='pln'><a href='#n178'>178</a></p>
-<p id='n179' class='pln'><a href='#n179'>179</a></p>
-<p id='n180' class='pln'><a href='#n180'>180</a></p>
-<p id='n181' class='pln'><a href='#n181'>181</a></p>
-<p id='n182' class='pln'><a href='#n182'>182</a></p>
-<p id='n183' class='pln'><a href='#n183'>183</a></p>
-<p id='n184' class='stm run hide_run'><a href='#n184'>184</a></p>
-<p id='n185' class='pln'><a href='#n185'>185</a></p>
-<p id='n186' class='stm run hide_run'><a href='#n186'>186</a></p>
-<p id='n187' class='stm run hide_run'><a href='#n187'>187</a></p>
-<p id='n188' class='pln'><a href='#n188'>188</a></p>
-<p id='n189' class='stm run hide_run'><a href='#n189'>189</a></p>
-<p id='n190' class='stm mis'><a href='#n190'>190</a></p>
-<p id='n191' class='pln'><a href='#n191'>191</a></p>
-<p id='n192' class='pln'><a href='#n192'>192</a></p>
-<p id='n193' class='pln'><a href='#n193'>193</a></p>
-<p id='n194' class='stm run hide_run'><a href='#n194'>194</a></p>
-<p id='n195' class='stm mis'><a href='#n195'>195</a></p>
-<p id='n196' class='pln'><a href='#n196'>196</a></p>
-<p id='n197' class='pln'><a href='#n197'>197</a></p>
-<p id='n198' class='pln'><a href='#n198'>198</a></p>
-<p id='n199' class='stm run hide_run'><a href='#n199'>199</a></p>
-<p id='n200' class='pln'><a href='#n200'>200</a></p>
-<p id='n201' class='pln'><a href='#n201'>201</a></p>
-<p id='n202' class='pln'><a href='#n202'>202</a></p>
-<p id='n203' class='pln'><a href='#n203'>203</a></p>
-<p id='n204' class='stm run hide_run'><a href='#n204'>204</a></p>
-<p id='n205' class='stm run hide_run'><a href='#n205'>205</a></p>
-<p id='n206' class='stm mis'><a href='#n206'>206</a></p>
-<p id='n207' class='stm mis'><a href='#n207'>207</a></p>
-<p id='n208' class='pln'><a href='#n208'>208</a></p>
-<p id='n209' class='stm run hide_run'><a href='#n209'>209</a></p>
-<p id='n210' class='stm mis'><a href='#n210'>210</a></p>
-<p id='n211' class='pln'><a href='#n211'>211</a></p>
-<p id='n212' class='stm run hide_run'><a href='#n212'>212</a></p>
-<p id='n213' class='pln'><a href='#n213'>213</a></p>
-<p id='n214' class='stm run hide_run'><a href='#n214'>214</a></p>
-<p id='n215' class='stm run hide_run'><a href='#n215'>215</a></p>
-<p id='n216' class='pln'><a href='#n216'>216</a></p>
-<p id='n217' class='stm run hide_run'><a href='#n217'>217</a></p>
-<p id='n218' class='pln'><a href='#n218'>218</a></p>
-<p id='n219' class='stm mis'><a href='#n219'>219</a></p>
-<p id='n220' class='pln'><a href='#n220'>220</a></p>
-<p id='n221' class='stm run hide_run'><a href='#n221'>221</a></p>
-<p id='n222' class='pln'><a href='#n222'>222</a></p>
-<p id='n223' class='stm mis'><a href='#n223'>223</a></p>
-<p id='n224' class='stm mis'><a href='#n224'>224</a></p>
-<p id='n225' class='pln'><a href='#n225'>225</a></p>
-<p id='n226' class='stm run hide_run'><a href='#n226'>226</a></p>
-<p id='n227' class='stm run hide_run'><a href='#n227'>227</a></p>
-<p id='n228' class='stm run hide_run'><a href='#n228'>228</a></p>
-<p id='n229' class='pln'><a href='#n229'>229</a></p>
-<p id='n230' class='stm run hide_run'><a href='#n230'>230</a></p>
-<p id='n231' class='stm run hide_run'><a href='#n231'>231</a></p>
-<p id='n232' class='stm run hide_run'><a href='#n232'>232</a></p>
-<p id='n233' class='stm run hide_run'><a href='#n233'>233</a></p>
-<p id='n234' class='stm run hide_run'><a href='#n234'>234</a></p>
-<p id='n235' class='stm run hide_run'><a href='#n235'>235</a></p>
-<p id='n236' class='pln'><a href='#n236'>236</a></p>
-<p id='n237' class='stm run hide_run'><a href='#n237'>237</a></p>
-<p id='n238' class='stm run hide_run'><a href='#n238'>238</a></p>
-<p id='n239' class='stm run hide_run'><a href='#n239'>239</a></p>
-<p id='n240' class='pln'><a href='#n240'>240</a></p>
-<p id='n241' class='stm run hide_run'><a href='#n241'>241</a></p>
-<p id='n242' class='stm run hide_run'><a href='#n242'>242</a></p>
-<p id='n243' class='stm run hide_run'><a href='#n243'>243</a></p>
-<p id='n244' class='stm run hide_run'><a href='#n244'>244</a></p>
-<p id='n245' class='stm run hide_run'><a href='#n245'>245</a></p>
-<p id='n246' class='stm run hide_run'><a href='#n246'>246</a></p>
-<p id='n247' class='pln'><a href='#n247'>247</a></p>
-<p id='n248' class='stm run hide_run'><a href='#n248'>248</a></p>
-<p id='n249' class='stm run hide_run'><a href='#n249'>249</a></p>
-<p id='n250' class='stm mis'><a href='#n250'>250</a></p>
-<p id='n251' class='stm mis'><a href='#n251'>251</a></p>
-<p id='n252' class='pln'><a href='#n252'>252</a></p>
-<p id='n253' class='stm run hide_run'><a href='#n253'>253</a></p>
-<p id='n254' class='pln'><a href='#n254'>254</a></p>
-<p id='n255' class='stm run hide_run'><a href='#n255'>255</a></p>
-<p id='n256' class='stm mis'><a href='#n256'>256</a></p>
-<p id='n257' class='stm mis'><a href='#n257'>257</a></p>
-<p id='n258' class='pln'><a href='#n258'>258</a></p>
-<p id='n259' class='stm run hide_run'><a href='#n259'>259</a></p>
-<p id='n260' class='pln'><a href='#n260'>260</a></p>
-<p id='n261' class='stm run hide_run'><a href='#n261'>261</a></p>
-<p id='n262' class='pln'><a href='#n262'>262</a></p>
-<p id='n263' class='pln'><a href='#n263'>263</a></p>
-<p id='n264' class='pln'><a href='#n264'>264</a></p>
-<p id='n265' class='pln'><a href='#n265'>265</a></p>
-<p id='n266' class='stm run hide_run'><a href='#n266'>266</a></p>
-<p id='n267' class='pln'><a href='#n267'>267</a></p>
-<p id='n268' class='stm run hide_run'><a href='#n268'>268</a></p>
-<p id='n269' class='pln'><a href='#n269'>269</a></p>
-<p id='n270' class='pln'><a href='#n270'>270</a></p>
-<p id='n271' class='pln'><a href='#n271'>271</a></p>
-<p id='n272' class='stm run hide_run'><a href='#n272'>272</a></p>
-<p id='n273' class='stm run hide_run'><a href='#n273'>273</a></p>
-<p id='n274' class='pln'><a href='#n274'>274</a></p>
-<p id='n275' class='stm run hide_run'><a href='#n275'>275</a></p>
-<p id='n276' class='pln'><a href='#n276'>276</a></p>
-<p id='n277' class='pln'><a href='#n277'>277</a></p>
-<p id='n278' class='pln'><a href='#n278'>278</a></p>
-<p id='n279' class='stm run hide_run'><a href='#n279'>279</a></p>
-<p id='n280' class='pln'><a href='#n280'>280</a></p>
-<p id='n281' class='pln'><a href='#n281'>281</a></p>
-<p id='n282' class='stm run hide_run'><a href='#n282'>282</a></p>
-<p id='n283' class='pln'><a href='#n283'>283</a></p>
-<p id='n284' class='pln'><a href='#n284'>284</a></p>
-<p id='n285' class='pln'><a href='#n285'>285</a></p>
-<p id='n286' class='stm run hide_run'><a href='#n286'>286</a></p>
-<p id='n287' class='pln'><a href='#n287'>287</a></p>
-<p id='n288' class='stm run hide_run'><a href='#n288'>288</a></p>
-<p id='n289' class='stm run hide_run'><a href='#n289'>289</a></p>
-<p id='n290' class='pln'><a href='#n290'>290</a></p>
-<p id='n291' class='stm run hide_run'><a href='#n291'>291</a></p>
-<p id='n292' class='stm mis'><a href='#n292'>292</a></p>
-<p id='n293' class='pln'><a href='#n293'>293</a></p>
-<p id='n294' class='pln'><a href='#n294'>294</a></p>
-<p id='n295' class='pln'><a href='#n295'>295</a></p>
-<p id='n296' class='stm run hide_run'><a href='#n296'>296</a></p>
-<p id='n297' class='pln'><a href='#n297'>297</a></p>
-<p id='n298' class='pln'><a href='#n298'>298</a></p>
-<p id='n299' class='pln'><a href='#n299'>299</a></p>
-<p id='n300' class='pln'><a href='#n300'>300</a></p>
-<p id='n301' class='pln'><a href='#n301'>301</a></p>
-<p id='n302' class='stm run hide_run'><a href='#n302'>302</a></p>
-<p id='n303' class='pln'><a href='#n303'>303</a></p>
-<p id='n304' class='stm run hide_run'><a href='#n304'>304</a></p>
-<p id='n305' class='stm run hide_run'><a href='#n305'>305</a></p>
-<p id='n306' class='pln'><a href='#n306'>306</a></p>
-<p id='n307' class='stm run hide_run'><a href='#n307'>307</a></p>
-<p id='n308' class='stm mis'><a href='#n308'>308</a></p>
-<p id='n309' class='stm mis'><a href='#n309'>309</a></p>
-<p id='n310' class='stm run hide_run'><a href='#n310'>310</a></p>
-<p id='n311' class='stm run hide_run'><a href='#n311'>311</a></p>
-<p id='n312' class='stm run hide_run'><a href='#n312'>312</a></p>
-<p id='n313' class='pln'><a href='#n313'>313</a></p>
-<p id='n314' class='stm run hide_run'><a href='#n314'>314</a></p>
-<p id='n315' class='pln'><a href='#n315'>315</a></p>
-<p id='n316' class='stm run hide_run'><a href='#n316'>316</a></p>
-<p id='n317' class='pln'><a href='#n317'>317</a></p>
-<p id='n318' class='pln'><a href='#n318'>318</a></p>
-<p id='n319' class='pln'><a href='#n319'>319</a></p>
-<p id='n320' class='pln'><a href='#n320'>320</a></p>
-<p id='n321' class='stm run hide_run'><a href='#n321'>321</a></p>
-<p id='n322' class='stm run hide_run'><a href='#n322'>322</a></p>
-<p id='n323' class='pln'><a href='#n323'>323</a></p>
-<p id='n324' class='pln'><a href='#n324'>324</a></p>
-<p id='n325' class='stm run hide_run'><a href='#n325'>325</a></p>
-<p id='n326' class='stm run hide_run'><a href='#n326'>326</a></p>
-<p id='n327' class='stm run hide_run'><a href='#n327'>327</a></p>
-<p id='n328' class='pln'><a href='#n328'>328</a></p>
-<p id='n329' class='stm run hide_run'><a href='#n329'>329</a></p>
-<p id='n330' class='pln'><a href='#n330'>330</a></p>
-<p id='n331' class='stm run hide_run'><a href='#n331'>331</a></p>
-<p id='n332' class='stm mis'><a href='#n332'>332</a></p>
-<p id='n333' class='stm mis'><a href='#n333'>333</a></p>
-<p id='n334' class='pln'><a href='#n334'>334</a></p>
-<p id='n335' class='stm run hide_run'><a href='#n335'>335</a></p>
-<p id='n336' class='pln'><a href='#n336'>336</a></p>
-<p id='n337' class='stm run hide_run'><a href='#n337'>337</a></p>
-<p id='n338' class='pln'><a href='#n338'>338</a></p>
-<p id='n339' class='pln'><a href='#n339'>339</a></p>
-<p id='n340' class='pln'><a href='#n340'>340</a></p>
-<p id='n341' class='pln'><a href='#n341'>341</a></p>
-<p id='n342' class='pln'><a href='#n342'>342</a></p>
-<p id='n343' class='stm run hide_run'><a href='#n343'>343</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Provides various authentication policies.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>base64</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>datetime</span> <span class='key'>import</span> <span class='nam'>datetime</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>contrib</span><span class='op'>.</span><span class='nam'>auth</span> <span class='key'>import</span> <span class='nam'>authenticate</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>exceptions</span> <span class='key'>import</span> <span class='nam'>ImproperlyConfigured</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>exceptions</span><span class='op'>,</span> <span class='nam'>HTTP_HEADER_ENCODING</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>CsrfViewMiddleware</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>oauth</span><span class='op'>,</span> <span class='nam'>oauth_provider</span><span class='op'>,</span> <span class='nam'>oauth_provider_store</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>oauth2_provider</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>authtoken</span><span class='op'>.</span><span class='nam'>models</span> <span class='key'>import</span> <span class='nam'>Token</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>get_authorization_header</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='str'>&nbsp; &nbsp; Return request&#39;s &#39;Authorization:&#39; header, as a bytestring.</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='str'>&nbsp; &nbsp; Hide some test client ickyness where the header can be unicode.</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>auth</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>META</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;HTTP_AUTHORIZATION&#39;</span><span class='op'>,</span> <span class='nam'>b</span><span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>type</span><span class='op'>(</span><span class='nam'>auth</span><span class='op'>)</span> <span class='op'>==</span> <span class='nam'>type</span><span class='op'>(</span><span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Work around django test client oddness</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>auth</span> <span class='op'>=</span> <span class='nam'>auth</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='nam'>HTTP_HEADER_ENCODING</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>auth</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BaseAuthentication</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='str'>&nbsp; &nbsp; All authentication classes should extend BaseAuthentication.</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Authenticate the request and return a two-tuple of (user, token).</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>NotImplementedError</span><span class='op'>(</span><span class='str'>&quot;.authenticate() must be overridden.&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate_header</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return a string to be used as the value of the `WWW-Authenticate`</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; header in a `401 Unauthenticated` response, or `None` if the</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; authentication scheme should return `403 Permission Denied` responses.</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BasicAuthentication</span><span class='op'>(</span><span class='nam'>BaseAuthentication</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'><span class='str'>&nbsp; &nbsp; HTTP Basic authentication against username/password.</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>www_authenticate_realm</span> <span class='op'>=</span> <span class='str'>&#39;api&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a `User` if a correct username and password have been supplied</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; using HTTP Basic authentication.&nbsp; Otherwise returns `None`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>auth</span> <span class='op'>=</span> <span class='nam'>get_authorization_header</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>auth</span> <span class='key'>or</span> <span class='nam'>auth</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>!=</span> <span class='nam'>b</span><span class='str'>&#39;basic&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>auth</span><span class='op'>)</span> <span class='op'>==</span> <span class='num'>1</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Invalid basic header. No credentials provided.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>auth</span><span class='op'>)</span> <span class='op'>&gt;</span> <span class='num'>2</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Invalid basic header. Credentials string should not contain spaces.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>auth_parts</span> <span class='op'>=</span> <span class='nam'>base64</span><span class='op'>.</span><span class='nam'>b64decode</span><span class='op'>(</span><span class='nam'>auth</span><span class='op'>[</span><span class='num'>1</span><span class='op'>]</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>decode</span><span class='op'>(</span><span class='nam'>HTTP_HEADER_ENCODING</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>partition</span><span class='op'>(</span><span class='str'>&#39;:&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>TypeError</span><span class='op'>,</span> <span class='nam'>UnicodeDecodeError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Invalid basic header. Credentials not correctly base64 encoded&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>userid</span><span class='op'>,</span> <span class='nam'>password</span> <span class='op'>=</span> <span class='nam'>auth_parts</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>,</span> <span class='nam'>auth_parts</span><span class='op'>[</span><span class='num'>2</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>authenticate_credentials</span><span class='op'>(</span><span class='nam'>userid</span><span class='op'>,</span> <span class='nam'>password</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate_credentials</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>userid</span><span class='op'>,</span> <span class='nam'>password</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Authenticate the userid and password against username and password.</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>user</span> <span class='op'>=</span> <span class='nam'>authenticate</span><span class='op'>(</span><span class='nam'>username</span><span class='op'>=</span><span class='nam'>userid</span><span class='op'>,</span> <span class='nam'>password</span><span class='op'>=</span><span class='nam'>password</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>user</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>or</span> <span class='key'>not</span> <span class='nam'>user</span><span class='op'>.</span><span class='nam'>is_active</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='str'>&#39;Invalid username/password&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>user</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate_header</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;Basic realm=&quot;%s&quot;&#39;</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>www_authenticate_realm</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>SessionAuthentication</span><span class='op'>(</span><span class='nam'>BaseAuthentication</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'><span class='str'>&nbsp; &nbsp; Use Django&#39;s session framework for authentication.</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a `User` if the request session currently has a logged in user.</span><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Otherwise returns `None`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Get the underlying HttpRequest object</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>http_request</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>_request</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>user</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>http_request</span><span class='op'>,</span> <span class='str'>&#39;user&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Unauthenticated, CSRF validation not required</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>user</span> <span class='key'>or</span> <span class='key'>not</span> <span class='nam'>user</span><span class='op'>.</span><span class='nam'>is_active</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Enforce CSRF validation for session based authentication.</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>CSRFCheck</span><span class='op'>(</span><span class='nam'>CsrfViewMiddleware</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_reject</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>reason</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Return the failure reason instead of an HttpResponse</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>reason</span><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>reason</span> <span class='op'>=</span> <span class='nam'>CSRFCheck</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>process_view</span><span class='op'>(</span><span class='nam'>http_request</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='op'>{</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>reason</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># CSRF failed, bail with explicit error message</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='str'>&#39;CSRF Failed: %s&#39;</span> <span class='op'>%</span> <span class='nam'>reason</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># CSRF passed with authenticated user</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>user</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>TokenAuthentication</span><span class='op'>(</span><span class='nam'>BaseAuthentication</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='pln'><span class='str'>&nbsp; &nbsp; Simple token based authentication.</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'><span class='str'>&nbsp; &nbsp; Clients should authenticate by passing the token key in the &quot;Authorization&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='pln'><span class='str'>&nbsp; &nbsp; HTTP header, prepended with the string &quot;Token &quot;.&nbsp; For example:</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Authorization: Token 401f7ac837da42b97f613d789819ff93537bee6a</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>model</span> <span class='op'>=</span> <span class='nam'>Token</span><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='pln'><span class='str'>&nbsp; &nbsp; A custom token model may be used, but must have the following properties.</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='pln'><span class='str'>&nbsp; &nbsp; * key -- The string identifying the token</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='pln'><span class='str'>&nbsp; &nbsp; * user -- The user to which the token belongs</span><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>auth</span> <span class='op'>=</span> <span class='nam'>get_authorization_header</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>auth</span> <span class='key'>or</span> <span class='nam'>auth</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>!=</span> <span class='nam'>b</span><span class='str'>&#39;token&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>auth</span><span class='op'>)</span> <span class='op'>==</span> <span class='num'>1</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Invalid token header. No credentials provided.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>auth</span><span class='op'>)</span> <span class='op'>&gt;</span> <span class='num'>2</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Invalid token header. Token string should not contain spaces.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>authenticate_credentials</span><span class='op'>(</span><span class='nam'>auth</span><span class='op'>[</span><span class='num'>1</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate_credentials</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>key</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>token</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>model</span><span class='op'>.</span><span class='nam'>objects</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>key</span><span class='op'>=</span><span class='nam'>key</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>model</span><span class='op'>.</span><span class='nam'>DoesNotExist</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='str'>&#39;Invalid token&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>token</span><span class='op'>.</span><span class='nam'>user</span><span class='op'>.</span><span class='nam'>is_active</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='str'>&#39;User inactive or deleted&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>token</span><span class='op'>.</span><span class='nam'>user</span><span class='op'>,</span> <span class='nam'>token</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate_header</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;Token&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>OAuthAuthentication</span><span class='op'>(</span><span class='nam'>BaseAuthentication</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='pln'><span class='str'>&nbsp; &nbsp; OAuth 1.0a authentication backend using `django-oauth-plus` and `oauth2`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='pln'><span class='str'>&nbsp; &nbsp; Note: The `oauth2` package actually provides oauth1.0a support.&nbsp; Urg.</span><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; We import it from the `compat` module as `oauth`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>www_authenticate_realm</span> <span class='op'>=</span> <span class='str'>&#39;api&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>OAuthAuthentication</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>oauth</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ImproperlyConfigured</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;The &#39;oauth2&#39; package could not be imported.&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;It is required for use with the &#39;OAuthAuthentication&#39; class.&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t193' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t194' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>oauth_provider</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t195' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ImproperlyConfigured</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t196' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;The &#39;django-oauth-plus&#39; package could not be imported.&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t197' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;It is required for use with the &#39;OAuthAuthentication&#39; class.&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t198' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t199' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t200' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t201' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns two-tuple of (user, token) if authentication succeeds,</span><span class='strut'>&nbsp;</span></p>
-<p id='t202' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; or None otherwise.</span><span class='strut'>&nbsp;</span></p>
-<p id='t203' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t204' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t205' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>oauth_request</span> <span class='op'>=</span> <span class='nam'>oauth_provider</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>get_oauth_request</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t206' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>oauth</span><span class='op'>.</span><span class='nam'>Error</span> <span class='key'>as</span> <span class='nam'>err</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t207' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>err</span><span class='op'>.</span><span class='nam'>message</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t208' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t209' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>oauth_request</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t210' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t211' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t212' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>oauth_params</span> <span class='op'>=</span> <span class='nam'>oauth_provider</span><span class='op'>.</span><span class='nam'>consts</span><span class='op'>.</span><span class='nam'>OAUTH_PARAMETERS_NAMES</span><span class='strut'>&nbsp;</span></p>
-<p id='t213' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t214' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>found</span> <span class='op'>=</span> <span class='nam'>any</span><span class='op'>(</span><span class='nam'>param</span> <span class='key'>for</span> <span class='nam'>param</span> <span class='key'>in</span> <span class='nam'>oauth_params</span> <span class='key'>if</span> <span class='nam'>param</span> <span class='key'>in</span> <span class='nam'>oauth_request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t215' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>missing</span> <span class='op'>=</span> <span class='nam'>list</span><span class='op'>(</span><span class='nam'>param</span> <span class='key'>for</span> <span class='nam'>param</span> <span class='key'>in</span> <span class='nam'>oauth_params</span> <span class='key'>if</span> <span class='nam'>param</span> <span class='key'>not</span> <span class='key'>in</span> <span class='nam'>oauth_request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t216' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t217' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>found</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t218' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># OAuth authentication was not attempted.</span><span class='strut'>&nbsp;</span></p>
-<p id='t219' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t220' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t221' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>missing</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t222' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># OAuth was attempted but missing parameters.</span><span class='strut'>&nbsp;</span></p>
-<p id='t223' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Missing parameters: %s&#39;</span> <span class='op'>%</span> <span class='op'>(</span><span class='str'>&#39;, &#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>missing</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t224' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t225' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t226' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>check_nonce</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>oauth_request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t227' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Nonce check failed&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t228' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t229' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t230' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t231' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>consumer_key</span> <span class='op'>=</span> <span class='nam'>oauth_request</span><span class='op'>.</span><span class='nam'>get_parameter</span><span class='op'>(</span><span class='str'>&#39;oauth_consumer_key&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t232' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>consumer</span> <span class='op'>=</span> <span class='nam'>oauth_provider_store</span><span class='op'>.</span><span class='nam'>get_consumer</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>oauth_request</span><span class='op'>,</span> <span class='nam'>consumer_key</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t233' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>oauth_provider</span><span class='op'>.</span><span class='nam'>store</span><span class='op'>.</span><span class='nam'>InvalidConsumerError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t234' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Invalid consumer token: %s&#39;</span> <span class='op'>%</span> <span class='nam'>oauth_request</span><span class='op'>.</span><span class='nam'>get_parameter</span><span class='op'>(</span><span class='str'>&#39;oauth_consumer_key&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t235' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t236' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t237' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>consumer</span><span class='op'>.</span><span class='nam'>status</span> <span class='op'>!=</span> <span class='nam'>oauth_provider</span><span class='op'>.</span><span class='nam'>consts</span><span class='op'>.</span><span class='nam'>ACCEPTED</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t238' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Invalid consumer key status: %s&#39;</span> <span class='op'>%</span> <span class='nam'>consumer</span><span class='op'>.</span><span class='nam'>get_status_display</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t239' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t240' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t241' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t242' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>token_param</span> <span class='op'>=</span> <span class='nam'>oauth_request</span><span class='op'>.</span><span class='nam'>get_parameter</span><span class='op'>(</span><span class='str'>&#39;oauth_token&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t243' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>token</span> <span class='op'>=</span> <span class='nam'>oauth_provider_store</span><span class='op'>.</span><span class='nam'>get_access_token</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>oauth_request</span><span class='op'>,</span> <span class='nam'>consumer</span><span class='op'>,</span> <span class='nam'>token_param</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t244' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>oauth_provider</span><span class='op'>.</span><span class='nam'>store</span><span class='op'>.</span><span class='nam'>InvalidTokenError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t245' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Invalid access token: %s&#39;</span> <span class='op'>%</span> <span class='nam'>oauth_request</span><span class='op'>.</span><span class='nam'>get_parameter</span><span class='op'>(</span><span class='str'>&#39;oauth_token&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t246' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t247' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t248' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t249' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validate_token</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>consumer</span><span class='op'>,</span> <span class='nam'>token</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t250' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>oauth</span><span class='op'>.</span><span class='nam'>Error</span> <span class='key'>as</span> <span class='nam'>err</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t251' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>err</span><span class='op'>.</span><span class='nam'>message</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t252' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t253' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>user</span> <span class='op'>=</span> <span class='nam'>token</span><span class='op'>.</span><span class='nam'>user</span><span class='strut'>&nbsp;</span></p>
-<p id='t254' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t255' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>user</span><span class='op'>.</span><span class='nam'>is_active</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t256' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;User inactive or deleted: %s&#39;</span> <span class='op'>%</span> <span class='nam'>user</span><span class='op'>.</span><span class='nam'>username</span><span class='strut'>&nbsp;</span></p>
-<p id='t257' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t258' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t259' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>token</span><span class='op'>.</span><span class='nam'>user</span><span class='op'>,</span> <span class='nam'>token</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t260' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t261' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate_header</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t262' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t263' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If permission is denied, return a &#39;401 Unauthorized&#39; response,</span><span class='strut'>&nbsp;</span></p>
-<p id='t264' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; with an appropraite &#39;WWW-Authenticate&#39; header.</span><span class='strut'>&nbsp;</span></p>
-<p id='t265' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t266' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;OAuth realm=&quot;%s&quot;&#39;</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>www_authenticate_realm</span><span class='strut'>&nbsp;</span></p>
-<p id='t267' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t268' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>validate_token</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>consumer</span><span class='op'>,</span> <span class='nam'>token</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t269' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t270' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Check the token and raise an `oauth.Error` exception if invalid.</span><span class='strut'>&nbsp;</span></p>
-<p id='t271' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t272' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>oauth_server</span><span class='op'>,</span> <span class='nam'>oauth_request</span> <span class='op'>=</span> <span class='nam'>oauth_provider</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>initialize_server_request</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t273' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>oauth_server</span><span class='op'>.</span><span class='nam'>verify_request</span><span class='op'>(</span><span class='nam'>oauth_request</span><span class='op'>,</span> <span class='nam'>consumer</span><span class='op'>,</span> <span class='nam'>token</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t274' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t275' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>check_nonce</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>oauth_request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t276' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t277' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Checks nonce of request, and return True if valid.</span><span class='strut'>&nbsp;</span></p>
-<p id='t278' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t279' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>oauth_provider_store</span><span class='op'>.</span><span class='nam'>check_nonce</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>oauth_request</span><span class='op'>,</span> <span class='nam'>oauth_request</span><span class='op'>[</span><span class='str'>&#39;oauth_nonce&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t280' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t281' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t282' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>OAuth2Authentication</span><span class='op'>(</span><span class='nam'>BaseAuthentication</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t283' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t284' class='pln'><span class='str'>&nbsp; &nbsp; OAuth 2 authentication backend using `django-oauth2-provider`</span><span class='strut'>&nbsp;</span></p>
-<p id='t285' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t286' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>www_authenticate_realm</span> <span class='op'>=</span> <span class='str'>&#39;api&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t287' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t288' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t289' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>OAuth2Authentication</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t290' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t291' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>oauth2_provider</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t292' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ImproperlyConfigured</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t293' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;The &#39;django-oauth2-provider&#39; package could not be imported. &quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t294' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;It is required for use with the &#39;OAuth2Authentication&#39; class.&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t295' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t296' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t297' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t298' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns two-tuple of (user, token) if authentication succeeds,</span><span class='strut'>&nbsp;</span></p>
-<p id='t299' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; or None otherwise.</span><span class='strut'>&nbsp;</span></p>
-<p id='t300' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t301' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t302' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>auth</span> <span class='op'>=</span> <span class='nam'>get_authorization_header</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t303' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t304' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>auth</span> <span class='key'>or</span> <span class='nam'>auth</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>!=</span> <span class='nam'>b</span><span class='str'>&#39;bearer&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t305' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t306' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t307' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>auth</span><span class='op'>)</span> <span class='op'>==</span> <span class='num'>1</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t308' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Invalid bearer header. No credentials provided.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t309' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t310' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>auth</span><span class='op'>)</span> <span class='op'>&gt;</span> <span class='num'>2</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t311' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Invalid bearer header. Token string should not contain spaces.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t312' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t313' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t314' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>authenticate_credentials</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>auth</span><span class='op'>[</span><span class='num'>1</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t315' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t316' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate_credentials</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>access_token</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t317' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t318' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Authenticate the request, given the access token.</span><span class='strut'>&nbsp;</span></p>
-<p id='t319' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t320' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t321' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t322' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>token</span> <span class='op'>=</span> <span class='nam'>oauth2_provider</span><span class='op'>.</span><span class='nam'>models</span><span class='op'>.</span><span class='nam'>AccessToken</span><span class='op'>.</span><span class='nam'>objects</span><span class='op'>.</span><span class='nam'>select_related</span><span class='op'>(</span><span class='str'>&#39;user&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t323' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># TODO: Change to timezone aware datetime when oauth2_provider add</span><span class='strut'>&nbsp;</span></p>
-<p id='t324' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># support to it.</span><span class='strut'>&nbsp;</span></p>
-<p id='t325' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>token</span> <span class='op'>=</span> <span class='nam'>token</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>token</span><span class='op'>=</span><span class='nam'>access_token</span><span class='op'>,</span> <span class='nam'>expires__gt</span><span class='op'>=</span><span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>now</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t326' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>oauth2_provider</span><span class='op'>.</span><span class='nam'>models</span><span class='op'>.</span><span class='nam'>AccessToken</span><span class='op'>.</span><span class='nam'>DoesNotExist</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t327' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='str'>&#39;Invalid token&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t328' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t329' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>user</span> <span class='op'>=</span> <span class='nam'>token</span><span class='op'>.</span><span class='nam'>user</span><span class='strut'>&nbsp;</span></p>
-<p id='t330' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t331' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>user</span><span class='op'>.</span><span class='nam'>is_active</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t332' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;User inactive or deleted: %s&#39;</span> <span class='op'>%</span> <span class='nam'>user</span><span class='op'>.</span><span class='nam'>username</span><span class='strut'>&nbsp;</span></p>
-<p id='t333' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t334' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t335' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>user</span><span class='op'>,</span> <span class='nam'>token</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t336' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t337' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>authenticate_header</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t338' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t339' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Bearer is the only finalized type currently</span><span class='strut'>&nbsp;</span></p>
-<p id='t340' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t341' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Check details on the `OAuth2Authentication.authenticate` method</span><span class='strut'>&nbsp;</span></p>
-<p id='t342' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t343' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;Bearer realm=&quot;%s&quot;&#39;</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>www_authenticate_realm</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_authtoken___init__.html b/htmlcov/rest_framework_authtoken___init__.html
deleted file mode 100644
index f7257493..00000000
--- a/htmlcov/rest_framework_authtoken___init__.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/authtoken/__init__: 100%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/authtoken/__init__</b> :
- <span class='pc_cov'>100%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 0 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>0 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>0 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-
- </td>
- <td class='text' valign='top'>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_authtoken_models.html b/htmlcov/rest_framework_authtoken_models.html
deleted file mode 100644
index 27d2fff1..00000000
--- a/htmlcov/rest_framework_authtoken_models.html
+++ /dev/null
@@ -1,151 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/authtoken/models: 95%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/authtoken/models</b> :
- <span class='pc_cov'>95%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 21 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>20 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>1 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='stm run hide_run'><a href='#n1'>1</a></p>
-<p id='n2' class='stm run hide_run'><a href='#n2'>2</a></p>
-<p id='n3' class='stm run hide_run'><a href='#n3'>3</a></p>
-<p id='n4' class='stm run hide_run'><a href='#n4'>4</a></p>
-<p id='n5' class='stm run hide_run'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='stm run hide_run'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='stm run hide_run'><a href='#n27'>27</a></p>
-<p id='n28' class='stm run hide_run'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='stm run hide_run'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='stm run hide_run'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='stm run hide_run'><a href='#n34'>34</a></p>
-<p id='n35' class='stm mis'><a href='#n35'>35</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>uuid</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>hmac</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>hashlib</span> <span class='key'>import</span> <span class='nam'>sha1</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>User</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>conf</span> <span class='key'>import</span> <span class='nam'>settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>db</span> <span class='key'>import</span> <span class='nam'>models</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>Token</span><span class='op'>(</span><span class='nam'>models</span><span class='op'>.</span><span class='nam'>Model</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='str'>&nbsp; &nbsp; The default authorization token model.</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>key</span> <span class='op'>=</span> <span class='nam'>models</span><span class='op'>.</span><span class='nam'>CharField</span><span class='op'>(</span><span class='nam'>max_length</span><span class='op'>=</span><span class='num'>40</span><span class='op'>,</span> <span class='nam'>primary_key</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>user</span> <span class='op'>=</span> <span class='nam'>models</span><span class='op'>.</span><span class='nam'>OneToOneField</span><span class='op'>(</span><span class='nam'>User</span><span class='op'>,</span> <span class='nam'>related_name</span><span class='op'>=</span><span class='str'>&#39;auth_token&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>created</span> <span class='op'>=</span> <span class='nam'>models</span><span class='op'>.</span><span class='nam'>DateTimeField</span><span class='op'>(</span><span class='nam'>auto_now_add</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>Meta</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Work around for a bug in Django:</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># https://code.djangoproject.com/ticket/19422</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'>#</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Also see corresponding ticket:</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># https://github.com/tomchristie/django-rest-framework/issues/705</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>abstract</span> <span class='op'>=</span> <span class='str'>&#39;rest_framework.authtoken&#39;</span> <span class='key'>not</span> <span class='key'>in</span> <span class='nam'>settings</span><span class='op'>.</span><span class='nam'>INSTALLED_APPS</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>save</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>key</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>key</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>generate_key</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>Token</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>save</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>generate_key</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>unique</span> <span class='op'>=</span> <span class='nam'>uuid</span><span class='op'>.</span><span class='nam'>uuid4</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>hmac</span><span class='op'>.</span><span class='nam'>new</span><span class='op'>(</span><span class='nam'>unique</span><span class='op'>.</span><span class='nam'>bytes</span><span class='op'>,</span> <span class='nam'>digestmod</span><span class='op'>=</span><span class='nam'>sha1</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>hexdigest</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__unicode__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>key</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_authtoken_serializers.html b/htmlcov/rest_framework_authtoken_serializers.html
deleted file mode 100644
index 8997d9a7..00000000
--- a/htmlcov/rest_framework_authtoken_serializers.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/authtoken/serializers: 88%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/authtoken/serializers</b> :
- <span class='pc_cov'>88%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 17 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>15 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>2 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='stm run hide_run'><a href='#n1'>1</a></p>
-<p id='n2' class='stm run hide_run'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='stm run hide_run'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='stm mis'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='stm mis'><a href='#n24'>24</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>contrib</span><span class='op'>.</span><span class='nam'>auth</span> <span class='key'>import</span> <span class='nam'>authenticate</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>serializers</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>AuthTokenSerializer</span><span class='op'>(</span><span class='nam'>serializers</span><span class='op'>.</span><span class='nam'>Serializer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>username</span> <span class='op'>=</span> <span class='nam'>serializers</span><span class='op'>.</span><span class='nam'>CharField</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>password</span> <span class='op'>=</span> <span class='nam'>serializers</span><span class='op'>.</span><span class='nam'>CharField</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>validate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>attrs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>username</span> <span class='op'>=</span> <span class='nam'>attrs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;username&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>password</span> <span class='op'>=</span> <span class='nam'>attrs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;password&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>username</span> <span class='key'>and</span> <span class='nam'>password</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>user</span> <span class='op'>=</span> <span class='nam'>authenticate</span><span class='op'>(</span><span class='nam'>username</span><span class='op'>=</span><span class='nam'>username</span><span class='op'>,</span> <span class='nam'>password</span><span class='op'>=</span><span class='nam'>password</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>user</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>user</span><span class='op'>.</span><span class='nam'>is_active</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>serializers</span><span class='op'>.</span><span class='nam'>ValidationError</span><span class='op'>(</span><span class='str'>&#39;User account is disabled.&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>attrs</span><span class='op'>[</span><span class='str'>&#39;user&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>user</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>attrs</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>serializers</span><span class='op'>.</span><span class='nam'>ValidationError</span><span class='op'>(</span><span class='str'>&#39;Unable to login with provided credentials.&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>serializers</span><span class='op'>.</span><span class='nam'>ValidationError</span><span class='op'>(</span><span class='str'>&#39;Must include &quot;username&quot; and &quot;password&quot;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_authtoken_views.html b/htmlcov/rest_framework_authtoken_views.html
deleted file mode 100644
index d13746ea..00000000
--- a/htmlcov/rest_framework_authtoken_views.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/authtoken/views: 100%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/authtoken/views</b> :
- <span class='pc_cov'>100%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 21 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>21 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>0 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='stm run hide_run'><a href='#n1'>1</a></p>
-<p id='n2' class='stm run hide_run'><a href='#n2'>2</a></p>
-<p id='n3' class='stm run hide_run'><a href='#n3'>3</a></p>
-<p id='n4' class='stm run hide_run'><a href='#n4'>4</a></p>
-<p id='n5' class='stm run hide_run'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='pln'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>views</span> <span class='key'>import</span> <span class='nam'>APIView</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>status</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>parsers</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>renderers</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>response</span> <span class='key'>import</span> <span class='nam'>Response</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>authtoken</span><span class='op'>.</span><span class='nam'>models</span> <span class='key'>import</span> <span class='nam'>Token</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>authtoken</span><span class='op'>.</span><span class='nam'>serializers</span> <span class='key'>import</span> <span class='nam'>AuthTokenSerializer</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ObtainAuthToken</span><span class='op'>(</span><span class='nam'>APIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>throttle_classes</span> <span class='op'>=</span> <span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>permission_classes</span> <span class='op'>=</span> <span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>parser_classes</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>parsers</span><span class='op'>.</span><span class='nam'>FormParser</span><span class='op'>,</span> <span class='nam'>parsers</span><span class='op'>.</span><span class='nam'>MultiPartParser</span><span class='op'>,</span> <span class='nam'>parsers</span><span class='op'>.</span><span class='nam'>JSONParser</span><span class='op'>,</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>renderer_classes</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>renderers</span><span class='op'>.</span><span class='nam'>JSONRenderer</span><span class='op'>,</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>serializer_class</span> <span class='op'>=</span> <span class='nam'>AuthTokenSerializer</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>model</span> <span class='op'>=</span> <span class='nam'>Token</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>post</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>serializer</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>serializer_class</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>DATA</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>is_valid</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>token</span><span class='op'>,</span> <span class='nam'>created</span> <span class='op'>=</span> <span class='nam'>Token</span><span class='op'>.</span><span class='nam'>objects</span><span class='op'>.</span><span class='nam'>get_or_create</span><span class='op'>(</span><span class='nam'>user</span><span class='op'>=</span><span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>object</span><span class='op'>[</span><span class='str'>&#39;user&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='op'>{</span><span class='str'>&#39;token&#39;</span><span class='op'>:</span> <span class='nam'>token</span><span class='op'>.</span><span class='nam'>key</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>errors</span><span class='op'>,</span> <span class='nam'>status</span><span class='op'>=</span><span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_400_BAD_REQUEST</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'><span class='nam'>obtain_auth_token</span> <span class='op'>=</span> <span class='nam'>ObtainAuthToken</span><span class='op'>.</span><span class='nam'>as_view</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_decorators.html b/htmlcov/rest_framework_decorators.html
deleted file mode 100644
index 6ad6f6b5..00000000
--- a/htmlcov/rest_framework_decorators.html
+++ /dev/null
@@ -1,339 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/decorators: 100%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/decorators</b> :
- <span class='pc_cov'>100%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 60 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>60 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>0 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='stm run hide_run'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='stm run hide_run'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='stm run hide_run'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='stm run hide_run'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='stm run hide_run'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='stm run hide_run'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='pln'><a href='#n61'>61</a></p>
-<p id='n62' class='stm run hide_run'><a href='#n62'>62</a></p>
-<p id='n63' class='pln'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='stm run hide_run'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='pln'><a href='#n70'>70</a></p>
-<p id='n71' class='stm run hide_run'><a href='#n71'>71</a></p>
-<p id='n72' class='stm run hide_run'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='stm run hide_run'><a href='#n75'>75</a></p>
-<p id='n76' class='stm run hide_run'><a href='#n76'>76</a></p>
-<p id='n77' class='stm run hide_run'><a href='#n77'>77</a></p>
-<p id='n78' class='stm run hide_run'><a href='#n78'>78</a></p>
-<p id='n79' class='stm run hide_run'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='pln'><a href='#n81'>81</a></p>
-<p id='n82' class='stm run hide_run'><a href='#n82'>82</a></p>
-<p id='n83' class='stm run hide_run'><a href='#n83'>83</a></p>
-<p id='n84' class='stm run hide_run'><a href='#n84'>84</a></p>
-<p id='n85' class='stm run hide_run'><a href='#n85'>85</a></p>
-<p id='n86' class='stm run hide_run'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='pln'><a href='#n88'>88</a></p>
-<p id='n89' class='stm run hide_run'><a href='#n89'>89</a></p>
-<p id='n90' class='stm run hide_run'><a href='#n90'>90</a></p>
-<p id='n91' class='stm run hide_run'><a href='#n91'>91</a></p>
-<p id='n92' class='stm run hide_run'><a href='#n92'>92</a></p>
-<p id='n93' class='stm run hide_run'><a href='#n93'>93</a></p>
-<p id='n94' class='pln'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='stm run hide_run'><a href='#n96'>96</a></p>
-<p id='n97' class='stm run hide_run'><a href='#n97'>97</a></p>
-<p id='n98' class='stm run hide_run'><a href='#n98'>98</a></p>
-<p id='n99' class='stm run hide_run'><a href='#n99'>99</a></p>
-<p id='n100' class='stm run hide_run'><a href='#n100'>100</a></p>
-<p id='n101' class='pln'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='stm run hide_run'><a href='#n103'>103</a></p>
-<p id='n104' class='stm run hide_run'><a href='#n104'>104</a></p>
-<p id='n105' class='stm run hide_run'><a href='#n105'>105</a></p>
-<p id='n106' class='stm run hide_run'><a href='#n106'>106</a></p>
-<p id='n107' class='stm run hide_run'><a href='#n107'>107</a></p>
-<p id='n108' class='pln'><a href='#n108'>108</a></p>
-<p id='n109' class='pln'><a href='#n109'>109</a></p>
-<p id='n110' class='stm run hide_run'><a href='#n110'>110</a></p>
-<p id='n111' class='pln'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='stm run hide_run'><a href='#n114'>114</a></p>
-<p id='n115' class='stm run hide_run'><a href='#n115'>115</a></p>
-<p id='n116' class='stm run hide_run'><a href='#n116'>116</a></p>
-<p id='n117' class='stm run hide_run'><a href='#n117'>117</a></p>
-<p id='n118' class='stm run hide_run'><a href='#n118'>118</a></p>
-<p id='n119' class='pln'><a href='#n119'>119</a></p>
-<p id='n120' class='pln'><a href='#n120'>120</a></p>
-<p id='n121' class='stm run hide_run'><a href='#n121'>121</a></p>
-<p id='n122' class='pln'><a href='#n122'>122</a></p>
-<p id='n123' class='pln'><a href='#n123'>123</a></p>
-<p id='n124' class='pln'><a href='#n124'>124</a></p>
-<p id='n125' class='stm run hide_run'><a href='#n125'>125</a></p>
-<p id='n126' class='stm run hide_run'><a href='#n126'>126</a></p>
-<p id='n127' class='stm run hide_run'><a href='#n127'>127</a></p>
-<p id='n128' class='stm run hide_run'><a href='#n128'>128</a></p>
-<p id='n129' class='stm run hide_run'><a href='#n129'>129</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>The most important decorator in this module is `@api_view`, which is used</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>for writing function-based views with REST framework.</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>There are also various decorators for setting the API policies on function</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='str'>based views, as well as the `@action` and `@link` decorators, which are</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='str'>used to annotate methods on viewsets that should be included by routers.</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>six</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>views</span> <span class='key'>import</span> <span class='nam'>APIView</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>types</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>api_view</span><span class='op'>(</span><span class='nam'>http_method_names</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'><span class='str'>&nbsp; &nbsp; Decorator that converts a function-based view into an APIView subclass.</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='str'>&nbsp; &nbsp; Takes a list of allowed methods for the view as an argument.</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>decorator</span><span class='op'>(</span><span class='nam'>func</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>WrappedAPIView</span> <span class='op'>=</span> <span class='nam'>type</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>six</span><span class='op'>.</span><span class='nam'>PY3</span> <span class='key'>and</span> <span class='str'>&#39;WrappedAPIView&#39;</span> <span class='key'>or</span> <span class='nam'>b</span><span class='str'>&#39;WrappedAPIView&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>(</span><span class='nam'>APIView</span><span class='op'>,</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>{</span><span class='str'>&#39;__doc__&#39;</span><span class='op'>:</span> <span class='nam'>func</span><span class='op'>.</span><span class='nam'>__doc__</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Note, the above allows us to set the docstring.</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># It is the equivalent of:</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'>#</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'>#&nbsp; &nbsp;&nbsp; class WrappedAPIView(APIView):</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'>#&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'>#&nbsp; &nbsp;&nbsp; WrappedAPIView.__doc__ = func.doc&nbsp; &nbsp; &lt;--- Not possible to do this</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># api_view applied without (method_names)</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='key'>not</span><span class='op'>(</span><span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>http_method_names</span><span class='op'>,</span> <span class='nam'>types</span><span class='op'>.</span><span class='nam'>FunctionType</span><span class='op'>)</span><span class='op'>)</span><span class='op'>,</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;@api_view missing list of allowed HTTP methods&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># api_view applied with eg. string instead of list of strings</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>http_method_names</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>list</span><span class='op'>,</span> <span class='nam'>tuple</span><span class='op'>)</span><span class='op'>)</span><span class='op'>,</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;@api_view expected a list of strings, received %s&#39;</span> <span class='op'>%</span> <span class='nam'>type</span><span class='op'>(</span><span class='nam'>http_method_names</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__name__</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>allowed_methods</span> <span class='op'>=</span> <span class='nam'>set</span><span class='op'>(</span><span class='nam'>http_method_names</span><span class='op'>)</span> <span class='op'>|</span> <span class='nam'>set</span><span class='op'>(</span><span class='op'>(</span><span class='str'>&#39;options&#39;</span><span class='op'>,</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>WrappedAPIView</span><span class='op'>.</span><span class='nam'>http_method_names</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>method</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>method</span> <span class='key'>in</span> <span class='nam'>allowed_methods</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>handler</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>func</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>method</span> <span class='key'>in</span> <span class='nam'>http_method_names</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>setattr</span><span class='op'>(</span><span class='nam'>WrappedAPIView</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>handler</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>WrappedAPIView</span><span class='op'>.</span><span class='nam'>__name__</span> <span class='op'>=</span> <span class='nam'>func</span><span class='op'>.</span><span class='nam'>__name__</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>WrappedAPIView</span><span class='op'>.</span><span class='nam'>renderer_classes</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>func</span><span class='op'>,</span> <span class='str'>&#39;renderer_classes&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>APIView</span><span class='op'>.</span><span class='nam'>renderer_classes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>WrappedAPIView</span><span class='op'>.</span><span class='nam'>parser_classes</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>func</span><span class='op'>,</span> <span class='str'>&#39;parser_classes&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>APIView</span><span class='op'>.</span><span class='nam'>parser_classes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>WrappedAPIView</span><span class='op'>.</span><span class='nam'>authentication_classes</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>func</span><span class='op'>,</span> <span class='str'>&#39;authentication_classes&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>APIView</span><span class='op'>.</span><span class='nam'>authentication_classes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>WrappedAPIView</span><span class='op'>.</span><span class='nam'>throttle_classes</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>func</span><span class='op'>,</span> <span class='str'>&#39;throttle_classes&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>APIView</span><span class='op'>.</span><span class='nam'>throttle_classes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>WrappedAPIView</span><span class='op'>.</span><span class='nam'>permission_classes</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>func</span><span class='op'>,</span> <span class='str'>&#39;permission_classes&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>APIView</span><span class='op'>.</span><span class='nam'>permission_classes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>WrappedAPIView</span><span class='op'>.</span><span class='nam'>as_view</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>decorator</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>renderer_classes</span><span class='op'>(</span><span class='nam'>renderer_classes</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>decorator</span><span class='op'>(</span><span class='nam'>func</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>func</span><span class='op'>.</span><span class='nam'>renderer_classes</span> <span class='op'>=</span> <span class='nam'>renderer_classes</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>func</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>decorator</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>parser_classes</span><span class='op'>(</span><span class='nam'>parser_classes</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>decorator</span><span class='op'>(</span><span class='nam'>func</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>func</span><span class='op'>.</span><span class='nam'>parser_classes</span> <span class='op'>=</span> <span class='nam'>parser_classes</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>func</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>decorator</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>authentication_classes</span><span class='op'>(</span><span class='nam'>authentication_classes</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>decorator</span><span class='op'>(</span><span class='nam'>func</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>func</span><span class='op'>.</span><span class='nam'>authentication_classes</span> <span class='op'>=</span> <span class='nam'>authentication_classes</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>func</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>decorator</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>throttle_classes</span><span class='op'>(</span><span class='nam'>throttle_classes</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>decorator</span><span class='op'>(</span><span class='nam'>func</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>func</span><span class='op'>.</span><span class='nam'>throttle_classes</span> <span class='op'>=</span> <span class='nam'>throttle_classes</span><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>func</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>decorator</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>permission_classes</span><span class='op'>(</span><span class='nam'>permission_classes</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>decorator</span><span class='op'>(</span><span class='nam'>func</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>func</span><span class='op'>.</span><span class='nam'>permission_classes</span> <span class='op'>=</span> <span class='nam'>permission_classes</span><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>func</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>decorator</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>link</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'><span class='str'>&nbsp; &nbsp; Used to mark a method on a ViewSet that should be routed for GET requests.</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>decorator</span><span class='op'>(</span><span class='nam'>func</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>func</span><span class='op'>.</span><span class='nam'>bind_to_methods</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;get&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>func</span><span class='op'>.</span><span class='nam'>kwargs</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>func</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>decorator</span><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>action</span><span class='op'>(</span><span class='nam'>methods</span><span class='op'>=</span><span class='op'>[</span><span class='str'>&#39;post&#39;</span><span class='op'>]</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='pln'><span class='str'>&nbsp; &nbsp; Used to mark a method on a ViewSet that should be routed for POST requests.</span><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>decorator</span><span class='op'>(</span><span class='nam'>func</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>func</span><span class='op'>.</span><span class='nam'>bind_to_methods</span> <span class='op'>=</span> <span class='nam'>methods</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>func</span><span class='op'>.</span><span class='nam'>kwargs</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>func</span><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>decorator</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_exceptions.html b/htmlcov/rest_framework_exceptions.html
deleted file mode 100644
index d975a848..00000000
--- a/htmlcov/rest_framework_exceptions.html
+++ /dev/null
@@ -1,257 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/exceptions: 96%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/exceptions</b> :
- <span class='pc_cov'>96%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 51 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>49 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>2 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='pln'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='stm run hide_run'><a href='#n27'>27</a></p>
-<p id='n28' class='stm run hide_run'><a href='#n28'>28</a></p>
-<p id='n29' class='stm run hide_run'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='stm run hide_run'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='stm run hide_run'><a href='#n36'>36</a></p>
-<p id='n37' class='stm run hide_run'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='stm run hide_run'><a href='#n39'>39</a></p>
-<p id='n40' class='stm run hide_run'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='stm run hide_run'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='stm run hide_run'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='stm run hide_run'><a href='#n55'>55</a></p>
-<p id='n56' class='stm run hide_run'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='stm run hide_run'><a href='#n59'>59</a></p>
-<p id='n60' class='stm run hide_run'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='stm run hide_run'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='stm run hide_run'><a href='#n68'>68</a></p>
-<p id='n69' class='stm run hide_run'><a href='#n69'>69</a></p>
-<p id='n70' class='stm run hide_run'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='stm run hide_run'><a href='#n72'>72</a></p>
-<p id='n73' class='stm mis'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='stm run hide_run'><a href='#n76'>76</a></p>
-<p id='n77' class='stm run hide_run'><a href='#n77'>77</a></p>
-<p id='n78' class='stm run hide_run'><a href='#n78'>78</a></p>
-<p id='n79' class='stm run hide_run'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='stm run hide_run'><a href='#n81'>81</a></p>
-<p id='n82' class='stm run hide_run'><a href='#n82'>82</a></p>
-<p id='n83' class='stm run hide_run'><a href='#n83'>83</a></p>
-<p id='n84' class='stm run hide_run'><a href='#n84'>84</a></p>
-<p id='n85' class='stm run hide_run'><a href='#n85'>85</a></p>
-<p id='n86' class='stm run hide_run'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='stm mis'><a href='#n88'>88</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Handled exceptions raised by REST framework.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>In addition Django&#39;s built in 403 and 404 exceptions are handled.</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>(`django.http.Http404` and `django.core.exceptions.PermissionDenied`)</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>status</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>APIException</span><span class='op'>(</span><span class='nam'>Exception</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='str'>&nbsp; &nbsp; Base class for REST framework exceptions.</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='str'>&nbsp; &nbsp; Subclasses should provide `.status_code` and `.detail` properties.</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ParseError</span><span class='op'>(</span><span class='nam'>APIException</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>status_code</span> <span class='op'>=</span> <span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_400_BAD_REQUEST</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_detail</span> <span class='op'>=</span> <span class='str'>&#39;Malformed request.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>detail</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>detail</span> <span class='op'>=</span> <span class='nam'>detail</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_detail</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>AuthenticationFailed</span><span class='op'>(</span><span class='nam'>APIException</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>status_code</span> <span class='op'>=</span> <span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_401_UNAUTHORIZED</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_detail</span> <span class='op'>=</span> <span class='str'>&#39;Incorrect authentication credentials.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>detail</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>detail</span> <span class='op'>=</span> <span class='nam'>detail</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_detail</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>NotAuthenticated</span><span class='op'>(</span><span class='nam'>APIException</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>status_code</span> <span class='op'>=</span> <span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_401_UNAUTHORIZED</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_detail</span> <span class='op'>=</span> <span class='str'>&#39;Authentication credentials were not provided.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>detail</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>detail</span> <span class='op'>=</span> <span class='nam'>detail</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_detail</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>PermissionDenied</span><span class='op'>(</span><span class='nam'>APIException</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>status_code</span> <span class='op'>=</span> <span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_403_FORBIDDEN</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_detail</span> <span class='op'>=</span> <span class='str'>&#39;You do not have permission to perform this action.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>detail</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>detail</span> <span class='op'>=</span> <span class='nam'>detail</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_detail</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>MethodNotAllowed</span><span class='op'>(</span><span class='nam'>APIException</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>status_code</span> <span class='op'>=</span> <span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_405_METHOD_NOT_ALLOWED</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_detail</span> <span class='op'>=</span> <span class='str'>&quot;Method &#39;%s&#39; not allowed.&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>detail</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>detail</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>detail</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_detail</span><span class='op'>)</span> <span class='op'>%</span> <span class='nam'>method</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>NotAcceptable</span><span class='op'>(</span><span class='nam'>APIException</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>status_code</span> <span class='op'>=</span> <span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_406_NOT_ACCEPTABLE</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_detail</span> <span class='op'>=</span> <span class='str'>&quot;Could not satisfy the request&#39;s Accept header&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>detail</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>available_renderers</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>detail</span> <span class='op'>=</span> <span class='nam'>detail</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_detail</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>available_renderers</span> <span class='op'>=</span> <span class='nam'>available_renderers</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>UnsupportedMediaType</span><span class='op'>(</span><span class='nam'>APIException</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>status_code</span> <span class='op'>=</span> <span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_415_UNSUPPORTED_MEDIA_TYPE</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_detail</span> <span class='op'>=</span> <span class='str'>&quot;Unsupported media type &#39;%s&#39; in request.&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>,</span> <span class='nam'>detail</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>detail</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>detail</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_detail</span><span class='op'>)</span> <span class='op'>%</span> <span class='nam'>media_type</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>Throttled</span><span class='op'>(</span><span class='nam'>APIException</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>status_code</span> <span class='op'>=</span> <span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_429_TOO_MANY_REQUESTS</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_detail</span> <span class='op'>=</span> <span class='str'>&quot;Request was throttled.&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>extra_detail</span> <span class='op'>=</span> <span class='str'>&quot;Expected available in %d second%s.&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>wait</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>detail</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>import</span> <span class='nam'>math</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>wait</span> <span class='op'>=</span> <span class='nam'>wait</span> <span class='key'>and</span> <span class='nam'>math</span><span class='op'>.</span><span class='nam'>ceil</span><span class='op'>(</span><span class='nam'>wait</span><span class='op'>)</span> <span class='key'>or</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>wait</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>detail</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_detail</span> <span class='op'>+</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>extra_detail</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>detail</span> <span class='op'>=</span> <span class='nam'>format</span> <span class='op'>%</span> <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>wait</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>wait</span> <span class='op'>!=</span> <span class='num'>1</span> <span class='key'>and</span> <span class='str'>&#39;s&#39;</span> <span class='key'>or</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>detail</span> <span class='op'>=</span> <span class='nam'>detail</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_detail</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_fields.html b/htmlcov/rest_framework_fields.html
deleted file mode 100644
index cf2731d2..00000000
--- a/htmlcov/rest_framework_fields.html
+++ /dev/null
@@ -1,1991 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/fields: 87%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/fields</b> :
- <span class='pc_cov'>87%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 594 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>514 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>80 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='stm run hide_run'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='stm run hide_run'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='stm run hide_run'><a href='#n38'>38</a></p>
-<p id='n39' class='stm run hide_run'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='stm run hide_run'><a href='#n41'>41</a></p>
-<p id='n42' class='stm run hide_run'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='stm run hide_run'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='stm run hide_run'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='stm run hide_run'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='stm run hide_run'><a href='#n57'>57</a></p>
-<p id='n58' class='stm run hide_run'><a href='#n58'>58</a></p>
-<p id='n59' class='stm run hide_run'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='pln'><a href='#n61'>61</a></p>
-<p id='n62' class='stm run hide_run'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='stm run hide_run'><a href='#n68'>68</a></p>
-<p id='n69' class='stm run hide_run'><a href='#n69'>69</a></p>
-<p id='n70' class='stm run hide_run'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='stm run hide_run'><a href='#n73'>73</a></p>
-<p id='n74' class='stm run hide_run'><a href='#n74'>74</a></p>
-<p id='n75' class='stm run hide_run'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='pln'><a href='#n77'>77</a></p>
-<p id='n78' class='stm run hide_run'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='stm run hide_run'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='pln'><a href='#n85'>85</a></p>
-<p id='n86' class='pln'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='pln'><a href='#n88'>88</a></p>
-<p id='n89' class='pln'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='pln'><a href='#n91'>91</a></p>
-<p id='n92' class='pln'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='pln'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='pln'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='stm run hide_run'><a href='#n98'>98</a></p>
-<p id='n99' class='stm run hide_run'><a href='#n99'>99</a></p>
-<p id='n100' class='stm run hide_run'><a href='#n100'>100</a></p>
-<p id='n101' class='pln'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='stm run hide_run'><a href='#n103'>103</a></p>
-<p id='n104' class='stm run hide_run'><a href='#n104'>104</a></p>
-<p id='n105' class='stm run hide_run'><a href='#n105'>105</a></p>
-<p id='n106' class='stm run hide_run'><a href='#n106'>106</a></p>
-<p id='n107' class='stm run hide_run'><a href='#n107'>107</a></p>
-<p id='n108' class='stm run hide_run'><a href='#n108'>108</a></p>
-<p id='n109' class='stm run hide_run'><a href='#n109'>109</a></p>
-<p id='n110' class='stm run hide_run'><a href='#n110'>110</a></p>
-<p id='n111' class='stm run hide_run'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='stm run hide_run'><a href='#n113'>113</a></p>
-<p id='n114' class='stm run hide_run'><a href='#n114'>114</a></p>
-<p id='n115' class='pln'><a href='#n115'>115</a></p>
-<p id='n116' class='stm run hide_run'><a href='#n116'>116</a></p>
-<p id='n117' class='stm run hide_run'><a href='#n117'>117</a></p>
-<p id='n118' class='pln'><a href='#n118'>118</a></p>
-<p id='n119' class='stm run hide_run'><a href='#n119'>119</a></p>
-<p id='n120' class='pln'><a href='#n120'>120</a></p>
-<p id='n121' class='stm run hide_run'><a href='#n121'>121</a></p>
-<p id='n122' class='stm run hide_run'><a href='#n122'>122</a></p>
-<p id='n123' class='pln'><a href='#n123'>123</a></p>
-<p id='n124' class='stm run hide_run'><a href='#n124'>124</a></p>
-<p id='n125' class='stm run hide_run'><a href='#n125'>125</a></p>
-<p id='n126' class='pln'><a href='#n126'>126</a></p>
-<p id='n127' class='stm run hide_run'><a href='#n127'>127</a></p>
-<p id='n128' class='pln'><a href='#n128'>128</a></p>
-<p id='n129' class='pln'><a href='#n129'>129</a></p>
-<p id='n130' class='pln'><a href='#n130'>130</a></p>
-<p id='n131' class='pln'><a href='#n131'>131</a></p>
-<p id='n132' class='pln'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='stm run hide_run'><a href='#n134'>134</a></p>
-<p id='n135' class='stm run hide_run'><a href='#n135'>135</a></p>
-<p id='n136' class='stm run hide_run'><a href='#n136'>136</a></p>
-<p id='n137' class='stm run hide_run'><a href='#n137'>137</a></p>
-<p id='n138' class='stm run hide_run'><a href='#n138'>138</a></p>
-<p id='n139' class='stm run hide_run'><a href='#n139'>139</a></p>
-<p id='n140' class='pln'><a href='#n140'>140</a></p>
-<p id='n141' class='stm run hide_run'><a href='#n141'>141</a></p>
-<p id='n142' class='pln'><a href='#n142'>142</a></p>
-<p id='n143' class='pln'><a href='#n143'>143</a></p>
-<p id='n144' class='pln'><a href='#n144'>144</a></p>
-<p id='n145' class='pln'><a href='#n145'>145</a></p>
-<p id='n146' class='stm run hide_run'><a href='#n146'>146</a></p>
-<p id='n147' class='pln'><a href='#n147'>147</a></p>
-<p id='n148' class='stm run hide_run'><a href='#n148'>148</a></p>
-<p id='n149' class='pln'><a href='#n149'>149</a></p>
-<p id='n150' class='pln'><a href='#n150'>150</a></p>
-<p id='n151' class='pln'><a href='#n151'>151</a></p>
-<p id='n152' class='pln'><a href='#n152'>152</a></p>
-<p id='n153' class='stm run hide_run'><a href='#n153'>153</a></p>
-<p id='n154' class='stm run hide_run'><a href='#n154'>154</a></p>
-<p id='n155' class='pln'><a href='#n155'>155</a></p>
-<p id='n156' class='stm run hide_run'><a href='#n156'>156</a></p>
-<p id='n157' class='stm run hide_run'><a href='#n157'>157</a></p>
-<p id='n158' class='pln'><a href='#n158'>158</a></p>
-<p id='n159' class='stm run hide_run'><a href='#n159'>159</a></p>
-<p id='n160' class='stm run hide_run'><a href='#n160'>160</a></p>
-<p id='n161' class='pln'><a href='#n161'>161</a></p>
-<p id='n162' class='stm run hide_run'><a href='#n162'>162</a></p>
-<p id='n163' class='stm run hide_run'><a href='#n163'>163</a></p>
-<p id='n164' class='stm run hide_run'><a href='#n164'>164</a></p>
-<p id='n165' class='stm run hide_run'><a href='#n165'>165</a></p>
-<p id='n166' class='pln'><a href='#n166'>166</a></p>
-<p id='n167' class='stm run hide_run'><a href='#n167'>167</a></p>
-<p id='n168' class='pln'><a href='#n168'>168</a></p>
-<p id='n169' class='stm run hide_run'><a href='#n169'>169</a></p>
-<p id='n170' class='pln'><a href='#n170'>170</a></p>
-<p id='n171' class='pln'><a href='#n171'>171</a></p>
-<p id='n172' class='pln'><a href='#n172'>172</a></p>
-<p id='n173' class='stm run hide_run'><a href='#n173'>173</a></p>
-<p id='n174' class='stm mis'><a href='#n174'>174</a></p>
-<p id='n175' class='pln'><a href='#n175'>175</a></p>
-<p id='n176' class='stm run hide_run'><a href='#n176'>176</a></p>
-<p id='n177' class='stm run hide_run'><a href='#n177'>177</a></p>
-<p id='n178' class='stm run hide_run'><a href='#n178'>178</a></p>
-<p id='n179' class='pln'><a href='#n179'>179</a></p>
-<p id='n180' class='stm run hide_run'><a href='#n180'>180</a></p>
-<p id='n181' class='stm run hide_run'><a href='#n181'>181</a></p>
-<p id='n182' class='pln'><a href='#n182'>182</a></p>
-<p id='n183' class='stm run hide_run'><a href='#n183'>183</a></p>
-<p id='n184' class='stm run hide_run'><a href='#n184'>184</a></p>
-<p id='n185' class='stm run hide_run'><a href='#n185'>185</a></p>
-<p id='n186' class='stm run hide_run'><a href='#n186'>186</a></p>
-<p id='n187' class='stm run hide_run'><a href='#n187'>187</a></p>
-<p id='n188' class='pln'><a href='#n188'>188</a></p>
-<p id='n189' class='stm run hide_run'><a href='#n189'>189</a></p>
-<p id='n190' class='pln'><a href='#n190'>190</a></p>
-<p id='n191' class='pln'><a href='#n191'>191</a></p>
-<p id='n192' class='pln'><a href='#n192'>192</a></p>
-<p id='n193' class='stm mis'><a href='#n193'>193</a></p>
-<p id='n194' class='stm mis'><a href='#n194'>194</a></p>
-<p id='n195' class='stm mis'><a href='#n195'>195</a></p>
-<p id='n196' class='pln'><a href='#n196'>196</a></p>
-<p id='n197' class='stm run hide_run'><a href='#n197'>197</a></p>
-<p id='n198' class='stm run hide_run'><a href='#n198'>198</a></p>
-<p id='n199' class='stm run hide_run'><a href='#n199'>199</a></p>
-<p id='n200' class='stm run hide_run'><a href='#n200'>200</a></p>
-<p id='n201' class='stm run hide_run'><a href='#n201'>201</a></p>
-<p id='n202' class='pln'><a href='#n202'>202</a></p>
-<p id='n203' class='stm run hide_run'><a href='#n203'>203</a></p>
-<p id='n204' class='stm run hide_run'><a href='#n204'>204</a></p>
-<p id='n205' class='stm run hide_run'><a href='#n205'>205</a></p>
-<p id='n206' class='stm run hide_run'><a href='#n206'>206</a></p>
-<p id='n207' class='stm run hide_run'><a href='#n207'>207</a></p>
-<p id='n208' class='pln'><a href='#n208'>208</a></p>
-<p id='n209' class='pln'><a href='#n209'>209</a></p>
-<p id='n210' class='stm run hide_run'><a href='#n210'>210</a></p>
-<p id='n211' class='pln'><a href='#n211'>211</a></p>
-<p id='n212' class='pln'><a href='#n212'>212</a></p>
-<p id='n213' class='pln'><a href='#n213'>213</a></p>
-<p id='n214' class='stm run hide_run'><a href='#n214'>214</a></p>
-<p id='n215' class='stm run hide_run'><a href='#n215'>215</a></p>
-<p id='n216' class='pln'><a href='#n216'>216</a></p>
-<p id='n217' class='pln'><a href='#n217'>217</a></p>
-<p id='n218' class='pln'><a href='#n218'>218</a></p>
-<p id='n219' class='stm run hide_run'><a href='#n219'>219</a></p>
-<p id='n220' class='stm run hide_run'><a href='#n220'>220</a></p>
-<p id='n221' class='pln'><a href='#n221'>221</a></p>
-<p id='n222' class='stm run hide_run'><a href='#n222'>222</a></p>
-<p id='n223' class='pln'><a href='#n223'>223</a></p>
-<p id='n224' class='pln'><a href='#n224'>224</a></p>
-<p id='n225' class='pln'><a href='#n225'>225</a></p>
-<p id='n226' class='pln'><a href='#n226'>226</a></p>
-<p id='n227' class='pln'><a href='#n227'>227</a></p>
-<p id='n228' class='stm run hide_run'><a href='#n228'>228</a></p>
-<p id='n229' class='stm mis'><a href='#n229'>229</a></p>
-<p id='n230' class='pln'><a href='#n230'>230</a></p>
-<p id='n231' class='pln'><a href='#n231'>231</a></p>
-<p id='n232' class='stm mis'><a href='#n232'>232</a></p>
-<p id='n233' class='pln'><a href='#n233'>233</a></p>
-<p id='n234' class='stm run hide_run'><a href='#n234'>234</a></p>
-<p id='n235' class='pln'><a href='#n235'>235</a></p>
-<p id='n236' class='stm run hide_run'><a href='#n236'>236</a></p>
-<p id='n237' class='stm run hide_run'><a href='#n237'>237</a></p>
-<p id='n238' class='stm run hide_run'><a href='#n238'>238</a></p>
-<p id='n239' class='pln'><a href='#n239'>239</a></p>
-<p id='n240' class='stm run hide_run'><a href='#n240'>240</a></p>
-<p id='n241' class='stm run hide_run'><a href='#n241'>241</a></p>
-<p id='n242' class='pln'><a href='#n242'>242</a></p>
-<p id='n243' class='stm run hide_run'><a href='#n243'>243</a></p>
-<p id='n244' class='stm run hide_run'><a href='#n244'>244</a></p>
-<p id='n245' class='stm run hide_run'><a href='#n245'>245</a></p>
-<p id='n246' class='stm run hide_run'><a href='#n246'>246</a></p>
-<p id='n247' class='stm run hide_run'><a href='#n247'>247</a></p>
-<p id='n248' class='pln'><a href='#n248'>248</a></p>
-<p id='n249' class='stm run hide_run'><a href='#n249'>249</a></p>
-<p id='n250' class='stm run hide_run'><a href='#n250'>250</a></p>
-<p id='n251' class='pln'><a href='#n251'>251</a></p>
-<p id='n252' class='pln'><a href='#n252'>252</a></p>
-<p id='n253' class='stm run hide_run'><a href='#n253'>253</a></p>
-<p id='n254' class='stm run hide_run'><a href='#n254'>254</a></p>
-<p id='n255' class='stm run hide_run'><a href='#n255'>255</a></p>
-<p id='n256' class='stm run hide_run'><a href='#n256'>256</a></p>
-<p id='n257' class='pln'><a href='#n257'>257</a></p>
-<p id='n258' class='stm run hide_run'><a href='#n258'>258</a></p>
-<p id='n259' class='stm run hide_run'><a href='#n259'>259</a></p>
-<p id='n260' class='stm run hide_run'><a href='#n260'>260</a></p>
-<p id='n261' class='stm run hide_run'><a href='#n261'>261</a></p>
-<p id='n262' class='stm run hide_run'><a href='#n262'>262</a></p>
-<p id='n263' class='pln'><a href='#n263'>263</a></p>
-<p id='n264' class='stm run hide_run'><a href='#n264'>264</a></p>
-<p id='n265' class='stm run hide_run'><a href='#n265'>265</a></p>
-<p id='n266' class='stm run hide_run'><a href='#n266'>266</a></p>
-<p id='n267' class='pln'><a href='#n267'>267</a></p>
-<p id='n268' class='stm run hide_run'><a href='#n268'>268</a></p>
-<p id='n269' class='stm run hide_run'><a href='#n269'>269</a></p>
-<p id='n270' class='stm run hide_run'><a href='#n270'>270</a></p>
-<p id='n271' class='stm run hide_run'><a href='#n271'>271</a></p>
-<p id='n272' class='stm run hide_run'><a href='#n272'>272</a></p>
-<p id='n273' class='stm run hide_run'><a href='#n273'>273</a></p>
-<p id='n274' class='stm run hide_run'><a href='#n274'>274</a></p>
-<p id='n275' class='stm run hide_run'><a href='#n275'>275</a></p>
-<p id='n276' class='stm run hide_run'><a href='#n276'>276</a></p>
-<p id='n277' class='stm run hide_run'><a href='#n277'>277</a></p>
-<p id='n278' class='stm run hide_run'><a href='#n278'>278</a></p>
-<p id='n279' class='stm run hide_run'><a href='#n279'>279</a></p>
-<p id='n280' class='stm run hide_run'><a href='#n280'>280</a></p>
-<p id='n281' class='pln'><a href='#n281'>281</a></p>
-<p id='n282' class='stm run hide_run'><a href='#n282'>282</a></p>
-<p id='n283' class='stm run hide_run'><a href='#n283'>283</a></p>
-<p id='n284' class='stm run hide_run'><a href='#n284'>284</a></p>
-<p id='n285' class='pln'><a href='#n285'>285</a></p>
-<p id='n286' class='stm run hide_run'><a href='#n286'>286</a></p>
-<p id='n287' class='pln'><a href='#n287'>287</a></p>
-<p id='n288' class='pln'><a href='#n288'>288</a></p>
-<p id='n289' class='pln'><a href='#n289'>289</a></p>
-<p id='n290' class='pln'><a href='#n290'>290</a></p>
-<p id='n291' class='stm run hide_run'><a href='#n291'>291</a></p>
-<p id='n292' class='stm run hide_run'><a href='#n292'>292</a></p>
-<p id='n293' class='pln'><a href='#n293'>293</a></p>
-<p id='n294' class='stm run hide_run'><a href='#n294'>294</a></p>
-<p id='n295' class='stm run hide_run'><a href='#n295'>295</a></p>
-<p id='n296' class='stm run hide_run'><a href='#n296'>296</a></p>
-<p id='n297' class='stm run hide_run'><a href='#n297'>297</a></p>
-<p id='n298' class='pln'><a href='#n298'>298</a></p>
-<p id='n299' class='stm run hide_run'><a href='#n299'>299</a></p>
-<p id='n300' class='stm run hide_run'><a href='#n300'>300</a></p>
-<p id='n301' class='stm run hide_run'><a href='#n301'>301</a></p>
-<p id='n302' class='pln'><a href='#n302'>302</a></p>
-<p id='n303' class='stm run hide_run'><a href='#n303'>303</a></p>
-<p id='n304' class='stm run hide_run'><a href='#n304'>304</a></p>
-<p id='n305' class='pln'><a href='#n305'>305</a></p>
-<p id='n306' class='stm run hide_run'><a href='#n306'>306</a></p>
-<p id='n307' class='pln'><a href='#n307'>307</a></p>
-<p id='n308' class='stm run hide_run'><a href='#n308'>308</a></p>
-<p id='n309' class='stm run hide_run'><a href='#n309'>309</a></p>
-<p id='n310' class='stm run hide_run'><a href='#n310'>310</a></p>
-<p id='n311' class='pln'><a href='#n311'>311</a></p>
-<p id='n312' class='stm run hide_run'><a href='#n312'>312</a></p>
-<p id='n313' class='stm run hide_run'><a href='#n313'>313</a></p>
-<p id='n314' class='stm mis'><a href='#n314'>314</a></p>
-<p id='n315' class='stm mis'><a href='#n315'>315</a></p>
-<p id='n316' class='pln'><a href='#n316'>316</a></p>
-<p id='n317' class='stm run hide_run'><a href='#n317'>317</a></p>
-<p id='n318' class='stm run hide_run'><a href='#n318'>318</a></p>
-<p id='n319' class='stm run hide_run'><a href='#n319'>319</a></p>
-<p id='n320' class='pln'><a href='#n320'>320</a></p>
-<p id='n321' class='stm run hide_run'><a href='#n321'>321</a></p>
-<p id='n322' class='pln'><a href='#n322'>322</a></p>
-<p id='n323' class='pln'><a href='#n323'>323</a></p>
-<p id='n324' class='pln'><a href='#n324'>324</a></p>
-<p id='n325' class='stm run hide_run'><a href='#n325'>325</a></p>
-<p id='n326' class='pln'><a href='#n326'>326</a></p>
-<p id='n327' class='pln'><a href='#n327'>327</a></p>
-<p id='n328' class='stm run hide_run'><a href='#n328'>328</a></p>
-<p id='n329' class='pln'><a href='#n329'>329</a></p>
-<p id='n330' class='pln'><a href='#n330'>330</a></p>
-<p id='n331' class='pln'><a href='#n331'>331</a></p>
-<p id='n332' class='stm run hide_run'><a href='#n332'>332</a></p>
-<p id='n333' class='stm run hide_run'><a href='#n333'>333</a></p>
-<p id='n334' class='stm run hide_run'><a href='#n334'>334</a></p>
-<p id='n335' class='stm mis'><a href='#n335'>335</a></p>
-<p id='n336' class='stm mis'><a href='#n336'>336</a></p>
-<p id='n337' class='pln'><a href='#n337'>337</a></p>
-<p id='n338' class='stm run hide_run'><a href='#n338'>338</a></p>
-<p id='n339' class='pln'><a href='#n339'>339</a></p>
-<p id='n340' class='stm run hide_run'><a href='#n340'>340</a></p>
-<p id='n341' class='pln'><a href='#n341'>341</a></p>
-<p id='n342' class='stm run hide_run'><a href='#n342'>342</a></p>
-<p id='n343' class='pln'><a href='#n343'>343</a></p>
-<p id='n344' class='stm run hide_run'><a href='#n344'>344</a></p>
-<p id='n345' class='pln'><a href='#n345'>345</a></p>
-<p id='n346' class='pln'><a href='#n346'>346</a></p>
-<p id='n347' class='stm run hide_run'><a href='#n347'>347</a></p>
-<p id='n348' class='pln'><a href='#n348'>348</a></p>
-<p id='n349' class='stm run hide_run'><a href='#n349'>349</a></p>
-<p id='n350' class='stm mis'><a href='#n350'>350</a></p>
-<p id='n351' class='stm run hide_run'><a href='#n351'>351</a></p>
-<p id='n352' class='stm run hide_run'><a href='#n352'>352</a></p>
-<p id='n353' class='stm run hide_run'><a href='#n353'>353</a></p>
-<p id='n354' class='stm run hide_run'><a href='#n354'>354</a></p>
-<p id='n355' class='stm run hide_run'><a href='#n355'>355</a></p>
-<p id='n356' class='stm mis'><a href='#n356'>356</a></p>
-<p id='n357' class='pln'><a href='#n357'>357</a></p>
-<p id='n358' class='stm run hide_run'><a href='#n358'>358</a></p>
-<p id='n359' class='stm run hide_run'><a href='#n359'>359</a></p>
-<p id='n360' class='stm run hide_run'><a href='#n360'>360</a></p>
-<p id='n361' class='stm mis'><a href='#n361'>361</a></p>
-<p id='n362' class='pln'><a href='#n362'>362</a></p>
-<p id='n363' class='stm run hide_run'><a href='#n363'>363</a></p>
-<p id='n364' class='pln'><a href='#n364'>364</a></p>
-<p id='n365' class='stm run hide_run'><a href='#n365'>365</a></p>
-<p id='n366' class='stm run hide_run'><a href='#n366'>366</a></p>
-<p id='n367' class='stm run hide_run'><a href='#n367'>367</a></p>
-<p id='n368' class='stm run hide_run'><a href='#n368'>368</a></p>
-<p id='n369' class='stm mis'><a href='#n369'>369</a></p>
-<p id='n370' class='pln'><a href='#n370'>370</a></p>
-<p id='n371' class='stm run hide_run'><a href='#n371'>371</a></p>
-<p id='n372' class='stm mis'><a href='#n372'>372</a></p>
-<p id='n373' class='pln'><a href='#n373'>373</a></p>
-<p id='n374' class='pln'><a href='#n374'>374</a></p>
-<p id='n375' class='pln'><a href='#n375'>375</a></p>
-<p id='n376' class='pln'><a href='#n376'>376</a></p>
-<p id='n377' class='pln'><a href='#n377'>377</a></p>
-<p id='n378' class='pln'><a href='#n378'>378</a></p>
-<p id='n379' class='stm run hide_run'><a href='#n379'>379</a></p>
-<p id='n380' class='stm run hide_run'><a href='#n380'>380</a></p>
-<p id='n381' class='stm run hide_run'><a href='#n381'>381</a></p>
-<p id='n382' class='stm run hide_run'><a href='#n382'>382</a></p>
-<p id='n383' class='stm run hide_run'><a href='#n383'>383</a></p>
-<p id='n384' class='stm run hide_run'><a href='#n384'>384</a></p>
-<p id='n385' class='pln'><a href='#n385'>385</a></p>
-<p id='n386' class='pln'><a href='#n386'>386</a></p>
-<p id='n387' class='stm run hide_run'><a href='#n387'>387</a></p>
-<p id='n388' class='pln'><a href='#n388'>388</a></p>
-<p id='n389' class='pln'><a href='#n389'>389</a></p>
-<p id='n390' class='pln'><a href='#n390'>390</a></p>
-<p id='n391' class='pln'><a href='#n391'>391</a></p>
-<p id='n392' class='stm run hide_run'><a href='#n392'>392</a></p>
-<p id='n393' class='pln'><a href='#n393'>393</a></p>
-<p id='n394' class='stm run hide_run'><a href='#n394'>394</a></p>
-<p id='n395' class='stm run hide_run'><a href='#n395'>395</a></p>
-<p id='n396' class='stm mis'><a href='#n396'>396</a></p>
-<p id='n397' class='stm run hide_run'><a href='#n397'>397</a></p>
-<p id='n398' class='stm mis'><a href='#n398'>398</a></p>
-<p id='n399' class='stm run hide_run'><a href='#n399'>399</a></p>
-<p id='n400' class='pln'><a href='#n400'>400</a></p>
-<p id='n401' class='pln'><a href='#n401'>401</a></p>
-<p id='n402' class='stm run hide_run'><a href='#n402'>402</a></p>
-<p id='n403' class='stm run hide_run'><a href='#n403'>403</a></p>
-<p id='n404' class='stm run hide_run'><a href='#n404'>404</a></p>
-<p id='n405' class='stm run hide_run'><a href='#n405'>405</a></p>
-<p id='n406' class='pln'><a href='#n406'>406</a></p>
-<p id='n407' class='stm run hide_run'><a href='#n407'>407</a></p>
-<p id='n408' class='stm run hide_run'><a href='#n408'>408</a></p>
-<p id='n409' class='stm run hide_run'><a href='#n409'>409</a></p>
-<p id='n410' class='stm run hide_run'><a href='#n410'>410</a></p>
-<p id='n411' class='stm mis'><a href='#n411'>411</a></p>
-<p id='n412' class='stm run hide_run'><a href='#n412'>412</a></p>
-<p id='n413' class='stm run hide_run'><a href='#n413'>413</a></p>
-<p id='n414' class='pln'><a href='#n414'>414</a></p>
-<p id='n415' class='stm run hide_run'><a href='#n415'>415</a></p>
-<p id='n416' class='stm run hide_run'><a href='#n416'>416</a></p>
-<p id='n417' class='stm run hide_run'><a href='#n417'>417</a></p>
-<p id='n418' class='stm mis'><a href='#n418'>418</a></p>
-<p id='n419' class='pln'><a href='#n419'>419</a></p>
-<p id='n420' class='pln'><a href='#n420'>420</a></p>
-<p id='n421' class='stm run hide_run'><a href='#n421'>421</a></p>
-<p id='n422' class='stm run hide_run'><a href='#n422'>422</a></p>
-<p id='n423' class='stm run hide_run'><a href='#n423'>423</a></p>
-<p id='n424' class='pln'><a href='#n424'>424</a></p>
-<p id='n425' class='stm run hide_run'><a href='#n425'>425</a></p>
-<p id='n426' class='stm run hide_run'><a href='#n426'>426</a></p>
-<p id='n427' class='stm run hide_run'><a href='#n427'>427</a></p>
-<p id='n428' class='pln'><a href='#n428'>428</a></p>
-<p id='n429' class='pln'><a href='#n429'>429</a></p>
-<p id='n430' class='stm run hide_run'><a href='#n430'>430</a></p>
-<p id='n431' class='stm run hide_run'><a href='#n431'>431</a></p>
-<p id='n432' class='stm run hide_run'><a href='#n432'>432</a></p>
-<p id='n433' class='stm run hide_run'><a href='#n433'>433</a></p>
-<p id='n434' class='pln'><a href='#n434'>434</a></p>
-<p id='n435' class='stm run hide_run'><a href='#n435'>435</a></p>
-<p id='n436' class='pln'><a href='#n436'>436</a></p>
-<p id='n437' class='pln'><a href='#n437'>437</a></p>
-<p id='n438' class='pln'><a href='#n438'>438</a></p>
-<p id='n439' class='stm run hide_run'><a href='#n439'>439</a></p>
-<p id='n440' class='pln'><a href='#n440'>440</a></p>
-<p id='n441' class='stm run hide_run'><a href='#n441'>441</a></p>
-<p id='n442' class='stm run hide_run'><a href='#n442'>442</a></p>
-<p id='n443' class='pln'><a href='#n443'>443</a></p>
-<p id='n444' class='pln'><a href='#n444'>444</a></p>
-<p id='n445' class='stm run hide_run'><a href='#n445'>445</a></p>
-<p id='n446' class='stm run hide_run'><a href='#n446'>446</a></p>
-<p id='n447' class='stm run hide_run'><a href='#n447'>447</a></p>
-<p id='n448' class='stm run hide_run'><a href='#n448'>448</a></p>
-<p id='n449' class='stm run hide_run'><a href='#n449'>449</a></p>
-<p id='n450' class='stm run hide_run'><a href='#n450'>450</a></p>
-<p id='n451' class='pln'><a href='#n451'>451</a></p>
-<p id='n452' class='pln'><a href='#n452'>452</a></p>
-<p id='n453' class='pln'><a href='#n453'>453</a></p>
-<p id='n454' class='pln'><a href='#n454'>454</a></p>
-<p id='n455' class='stm run hide_run'><a href='#n455'>455</a></p>
-<p id='n456' class='stm run hide_run'><a href='#n456'>456</a></p>
-<p id='n457' class='stm run hide_run'><a href='#n457'>457</a></p>
-<p id='n458' class='stm run hide_run'><a href='#n458'>458</a></p>
-<p id='n459' class='stm run hide_run'><a href='#n459'>459</a></p>
-<p id='n460' class='pln'><a href='#n460'>460</a></p>
-<p id='n461' class='stm run hide_run'><a href='#n461'>461</a></p>
-<p id='n462' class='stm run hide_run'><a href='#n462'>462</a></p>
-<p id='n463' class='pln'><a href='#n463'>463</a></p>
-<p id='n464' class='stm run hide_run'><a href='#n464'>464</a></p>
-<p id='n465' class='pln'><a href='#n465'>465</a></p>
-<p id='n466' class='pln'><a href='#n466'>466</a></p>
-<p id='n467' class='pln'><a href='#n467'>467</a></p>
-<p id='n468' class='stm run hide_run'><a href='#n468'>468</a></p>
-<p id='n469' class='pln'><a href='#n469'>469</a></p>
-<p id='n470' class='stm run hide_run'><a href='#n470'>470</a></p>
-<p id='n471' class='pln'><a href='#n471'>471</a></p>
-<p id='n472' class='stm run hide_run'><a href='#n472'>472</a></p>
-<p id='n473' class='pln'><a href='#n473'>473</a></p>
-<p id='n474' class='pln'><a href='#n474'>474</a></p>
-<p id='n475' class='pln'><a href='#n475'>475</a></p>
-<p id='n476' class='stm run hide_run'><a href='#n476'>476</a></p>
-<p id='n477' class='stm run hide_run'><a href='#n477'>477</a></p>
-<p id='n478' class='stm mis'><a href='#n478'>478</a></p>
-<p id='n479' class='pln'><a href='#n479'>479</a></p>
-<p id='n480' class='stm run hide_run'><a href='#n480'>480</a></p>
-<p id='n481' class='pln'><a href='#n481'>481</a></p>
-<p id='n482' class='pln'><a href='#n482'>482</a></p>
-<p id='n483' class='pln'><a href='#n483'>483</a></p>
-<p id='n484' class='stm run hide_run'><a href='#n484'>484</a></p>
-<p id='n485' class='stm run hide_run'><a href='#n485'>485</a></p>
-<p id='n486' class='pln'><a href='#n486'>486</a></p>
-<p id='n487' class='stm mis'><a href='#n487'>487</a></p>
-<p id='n488' class='stm mis'><a href='#n488'>488</a></p>
-<p id='n489' class='stm mis'><a href='#n489'>489</a></p>
-<p id='n490' class='pln'><a href='#n490'>490</a></p>
-<p id='n491' class='stm run hide_run'><a href='#n491'>491</a></p>
-<p id='n492' class='stm run hide_run'><a href='#n492'>492</a></p>
-<p id='n493' class='stm mis'><a href='#n493'>493</a></p>
-<p id='n494' class='pln'><a href='#n494'>494</a></p>
-<p id='n495' class='pln'><a href='#n495'>495</a></p>
-<p id='n496' class='stm run hide_run'><a href='#n496'>496</a></p>
-<p id='n497' class='stm run hide_run'><a href='#n497'>497</a></p>
-<p id='n498' class='stm run hide_run'><a href='#n498'>498</a></p>
-<p id='n499' class='stm run hide_run'><a href='#n499'>499</a></p>
-<p id='n500' class='pln'><a href='#n500'>500</a></p>
-<p id='n501' class='stm run hide_run'><a href='#n501'>501</a></p>
-<p id='n502' class='pln'><a href='#n502'>502</a></p>
-<p id='n503' class='pln'><a href='#n503'>503</a></p>
-<p id='n504' class='stm run hide_run'><a href='#n504'>504</a></p>
-<p id='n505' class='pln'><a href='#n505'>505</a></p>
-<p id='n506' class='stm run hide_run'><a href='#n506'>506</a></p>
-<p id='n507' class='stm run hide_run'><a href='#n507'>507</a></p>
-<p id='n508' class='stm run hide_run'><a href='#n508'>508</a></p>
-<p id='n509' class='stm mis'><a href='#n509'>509</a></p>
-<p id='n510' class='stm run hide_run'><a href='#n510'>510</a></p>
-<p id='n511' class='pln'><a href='#n511'>511</a></p>
-<p id='n512' class='pln'><a href='#n512'>512</a></p>
-<p id='n513' class='stm run hide_run'><a href='#n513'>513</a></p>
-<p id='n514' class='stm run hide_run'><a href='#n514'>514</a></p>
-<p id='n515' class='stm run hide_run'><a href='#n515'>515</a></p>
-<p id='n516' class='stm run hide_run'><a href='#n516'>516</a></p>
-<p id='n517' class='pln'><a href='#n517'>517</a></p>
-<p id='n518' class='stm run hide_run'><a href='#n518'>518</a></p>
-<p id='n519' class='stm run hide_run'><a href='#n519'>519</a></p>
-<p id='n520' class='stm run hide_run'><a href='#n520'>520</a></p>
-<p id='n521' class='pln'><a href='#n521'>521</a></p>
-<p id='n522' class='stm run hide_run'><a href='#n522'>522</a></p>
-<p id='n523' class='stm mis'><a href='#n523'>523</a></p>
-<p id='n524' class='pln'><a href='#n524'>524</a></p>
-<p id='n525' class='stm run hide_run'><a href='#n525'>525</a></p>
-<p id='n526' class='stm run hide_run'><a href='#n526'>526</a></p>
-<p id='n527' class='stm run hide_run'><a href='#n527'>527</a></p>
-<p id='n528' class='stm run hide_run'><a href='#n528'>528</a></p>
-<p id='n529' class='stm run hide_run'><a href='#n529'>529</a></p>
-<p id='n530' class='stm mis'><a href='#n530'>530</a></p>
-<p id='n531' class='stm run hide_run'><a href='#n531'>531</a></p>
-<p id='n532' class='stm run hide_run'><a href='#n532'>532</a></p>
-<p id='n533' class='pln'><a href='#n533'>533</a></p>
-<p id='n534' class='stm run hide_run'><a href='#n534'>534</a></p>
-<p id='n535' class='pln'><a href='#n535'>535</a></p>
-<p id='n536' class='pln'><a href='#n536'>536</a></p>
-<p id='n537' class='stm run hide_run'><a href='#n537'>537</a></p>
-<p id='n538' class='stm run hide_run'><a href='#n538'>538</a></p>
-<p id='n539' class='stm run hide_run'><a href='#n539'>539</a></p>
-<p id='n540' class='stm run hide_run'><a href='#n540'>540</a></p>
-<p id='n541' class='stm run hide_run'><a href='#n541'>541</a></p>
-<p id='n542' class='pln'><a href='#n542'>542</a></p>
-<p id='n543' class='stm run hide_run'><a href='#n543'>543</a></p>
-<p id='n544' class='pln'><a href='#n544'>544</a></p>
-<p id='n545' class='pln'><a href='#n545'>545</a></p>
-<p id='n546' class='stm run hide_run'><a href='#n546'>546</a></p>
-<p id='n547' class='stm run hide_run'><a href='#n547'>547</a></p>
-<p id='n548' class='stm run hide_run'><a href='#n548'>548</a></p>
-<p id='n549' class='pln'><a href='#n549'>549</a></p>
-<p id='n550' class='stm run hide_run'><a href='#n550'>550</a></p>
-<p id='n551' class='stm run hide_run'><a href='#n551'>551</a></p>
-<p id='n552' class='stm run hide_run'><a href='#n552'>552</a></p>
-<p id='n553' class='stm run hide_run'><a href='#n553'>553</a></p>
-<p id='n554' class='pln'><a href='#n554'>554</a></p>
-<p id='n555' class='stm run hide_run'><a href='#n555'>555</a></p>
-<p id='n556' class='stm run hide_run'><a href='#n556'>556</a></p>
-<p id='n557' class='stm run hide_run'><a href='#n557'>557</a></p>
-<p id='n558' class='pln'><a href='#n558'>558</a></p>
-<p id='n559' class='stm run hide_run'><a href='#n559'>559</a></p>
-<p id='n560' class='stm mis'><a href='#n560'>560</a></p>
-<p id='n561' class='pln'><a href='#n561'>561</a></p>
-<p id='n562' class='pln'><a href='#n562'>562</a></p>
-<p id='n563' class='stm mis'><a href='#n563'>563</a></p>
-<p id='n564' class='stm mis'><a href='#n564'>564</a></p>
-<p id='n565' class='stm mis'><a href='#n565'>565</a></p>
-<p id='n566' class='stm run hide_run'><a href='#n566'>566</a></p>
-<p id='n567' class='stm run hide_run'><a href='#n567'>567</a></p>
-<p id='n568' class='pln'><a href='#n568'>568</a></p>
-<p id='n569' class='stm run hide_run'><a href='#n569'>569</a></p>
-<p id='n570' class='stm run hide_run'><a href='#n570'>570</a></p>
-<p id='n571' class='stm run hide_run'><a href='#n571'>571</a></p>
-<p id='n572' class='stm run hide_run'><a href='#n572'>572</a></p>
-<p id='n573' class='stm run hide_run'><a href='#n573'>573</a></p>
-<p id='n574' class='stm run hide_run'><a href='#n574'>574</a></p>
-<p id='n575' class='pln'><a href='#n575'>575</a></p>
-<p id='n576' class='stm run hide_run'><a href='#n576'>576</a></p>
-<p id='n577' class='stm run hide_run'><a href='#n577'>577</a></p>
-<p id='n578' class='pln'><a href='#n578'>578</a></p>
-<p id='n579' class='stm run hide_run'><a href='#n579'>579</a></p>
-<p id='n580' class='stm run hide_run'><a href='#n580'>580</a></p>
-<p id='n581' class='stm run hide_run'><a href='#n581'>581</a></p>
-<p id='n582' class='stm run hide_run'><a href='#n582'>582</a></p>
-<p id='n583' class='pln'><a href='#n583'>583</a></p>
-<p id='n584' class='stm run hide_run'><a href='#n584'>584</a></p>
-<p id='n585' class='pln'><a href='#n585'>585</a></p>
-<p id='n586' class='stm run hide_run'><a href='#n586'>586</a></p>
-<p id='n587' class='stm run hide_run'><a href='#n587'>587</a></p>
-<p id='n588' class='pln'><a href='#n588'>588</a></p>
-<p id='n589' class='stm run hide_run'><a href='#n589'>589</a></p>
-<p id='n590' class='stm run hide_run'><a href='#n590'>590</a></p>
-<p id='n591' class='stm run hide_run'><a href='#n591'>591</a></p>
-<p id='n592' class='pln'><a href='#n592'>592</a></p>
-<p id='n593' class='stm run hide_run'><a href='#n593'>593</a></p>
-<p id='n594' class='stm mis'><a href='#n594'>594</a></p>
-<p id='n595' class='pln'><a href='#n595'>595</a></p>
-<p id='n596' class='stm run hide_run'><a href='#n596'>596</a></p>
-<p id='n597' class='stm run hide_run'><a href='#n597'>597</a></p>
-<p id='n598' class='stm run hide_run'><a href='#n598'>598</a></p>
-<p id='n599' class='pln'><a href='#n599'>599</a></p>
-<p id='n600' class='pln'><a href='#n600'>600</a></p>
-<p id='n601' class='stm run hide_run'><a href='#n601'>601</a></p>
-<p id='n602' class='stm run hide_run'><a href='#n602'>602</a></p>
-<p id='n603' class='stm run hide_run'><a href='#n603'>603</a></p>
-<p id='n604' class='stm run hide_run'><a href='#n604'>604</a></p>
-<p id='n605' class='stm run hide_run'><a href='#n605'>605</a></p>
-<p id='n606' class='pln'><a href='#n606'>606</a></p>
-<p id='n607' class='stm run hide_run'><a href='#n607'>607</a></p>
-<p id='n608' class='pln'><a href='#n608'>608</a></p>
-<p id='n609' class='pln'><a href='#n609'>609</a></p>
-<p id='n610' class='stm run hide_run'><a href='#n610'>610</a></p>
-<p id='n611' class='stm run hide_run'><a href='#n611'>611</a></p>
-<p id='n612' class='stm run hide_run'><a href='#n612'>612</a></p>
-<p id='n613' class='pln'><a href='#n613'>613</a></p>
-<p id='n614' class='stm run hide_run'><a href='#n614'>614</a></p>
-<p id='n615' class='stm run hide_run'><a href='#n615'>615</a></p>
-<p id='n616' class='stm run hide_run'><a href='#n616'>616</a></p>
-<p id='n617' class='stm run hide_run'><a href='#n617'>617</a></p>
-<p id='n618' class='pln'><a href='#n618'>618</a></p>
-<p id='n619' class='stm run hide_run'><a href='#n619'>619</a></p>
-<p id='n620' class='stm run hide_run'><a href='#n620'>620</a></p>
-<p id='n621' class='stm run hide_run'><a href='#n621'>621</a></p>
-<p id='n622' class='pln'><a href='#n622'>622</a></p>
-<p id='n623' class='stm run hide_run'><a href='#n623'>623</a></p>
-<p id='n624' class='stm run hide_run'><a href='#n624'>624</a></p>
-<p id='n625' class='stm run hide_run'><a href='#n625'>625</a></p>
-<p id='n626' class='stm mis'><a href='#n626'>626</a></p>
-<p id='n627' class='stm mis'><a href='#n627'>627</a></p>
-<p id='n628' class='pln'><a href='#n628'>628</a></p>
-<p id='n629' class='pln'><a href='#n629'>629</a></p>
-<p id='n630' class='pln'><a href='#n630'>630</a></p>
-<p id='n631' class='pln'><a href='#n631'>631</a></p>
-<p id='n632' class='stm mis'><a href='#n632'>632</a></p>
-<p id='n633' class='pln'><a href='#n633'>633</a></p>
-<p id='n634' class='pln'><a href='#n634'>634</a></p>
-<p id='n635' class='stm mis'><a href='#n635'>635</a></p>
-<p id='n636' class='stm mis'><a href='#n636'>636</a></p>
-<p id='n637' class='stm mis'><a href='#n637'>637</a></p>
-<p id='n638' class='pln'><a href='#n638'>638</a></p>
-<p id='n639' class='stm run hide_run'><a href='#n639'>639</a></p>
-<p id='n640' class='stm run hide_run'><a href='#n640'>640</a></p>
-<p id='n641' class='stm run hide_run'><a href='#n641'>641</a></p>
-<p id='n642' class='stm run hide_run'><a href='#n642'>642</a></p>
-<p id='n643' class='stm run hide_run'><a href='#n643'>643</a></p>
-<p id='n644' class='stm run hide_run'><a href='#n644'>644</a></p>
-<p id='n645' class='pln'><a href='#n645'>645</a></p>
-<p id='n646' class='stm run hide_run'><a href='#n646'>646</a></p>
-<p id='n647' class='stm run hide_run'><a href='#n647'>647</a></p>
-<p id='n648' class='pln'><a href='#n648'>648</a></p>
-<p id='n649' class='stm run hide_run'><a href='#n649'>649</a></p>
-<p id='n650' class='stm run hide_run'><a href='#n650'>650</a></p>
-<p id='n651' class='stm run hide_run'><a href='#n651'>651</a></p>
-<p id='n652' class='stm run hide_run'><a href='#n652'>652</a></p>
-<p id='n653' class='pln'><a href='#n653'>653</a></p>
-<p id='n654' class='stm run hide_run'><a href='#n654'>654</a></p>
-<p id='n655' class='pln'><a href='#n655'>655</a></p>
-<p id='n656' class='stm run hide_run'><a href='#n656'>656</a></p>
-<p id='n657' class='stm run hide_run'><a href='#n657'>657</a></p>
-<p id='n658' class='pln'><a href='#n658'>658</a></p>
-<p id='n659' class='stm run hide_run'><a href='#n659'>659</a></p>
-<p id='n660' class='stm run hide_run'><a href='#n660'>660</a></p>
-<p id='n661' class='stm run hide_run'><a href='#n661'>661</a></p>
-<p id='n662' class='pln'><a href='#n662'>662</a></p>
-<p id='n663' class='stm run hide_run'><a href='#n663'>663</a></p>
-<p id='n664' class='stm run hide_run'><a href='#n664'>664</a></p>
-<p id='n665' class='stm run hide_run'><a href='#n665'>665</a></p>
-<p id='n666' class='stm mis'><a href='#n666'>666</a></p>
-<p id='n667' class='stm run hide_run'><a href='#n667'>667</a></p>
-<p id='n668' class='stm run hide_run'><a href='#n668'>668</a></p>
-<p id='n669' class='pln'><a href='#n669'>669</a></p>
-<p id='n670' class='pln'><a href='#n670'>670</a></p>
-<p id='n671' class='stm run hide_run'><a href='#n671'>671</a></p>
-<p id='n672' class='stm run hide_run'><a href='#n672'>672</a></p>
-<p id='n673' class='stm run hide_run'><a href='#n673'>673</a></p>
-<p id='n674' class='stm run hide_run'><a href='#n674'>674</a></p>
-<p id='n675' class='stm run hide_run'><a href='#n675'>675</a></p>
-<p id='n676' class='pln'><a href='#n676'>676</a></p>
-<p id='n677' class='stm run hide_run'><a href='#n677'>677</a></p>
-<p id='n678' class='pln'><a href='#n678'>678</a></p>
-<p id='n679' class='pln'><a href='#n679'>679</a></p>
-<p id='n680' class='stm run hide_run'><a href='#n680'>680</a></p>
-<p id='n681' class='stm run hide_run'><a href='#n681'>681</a></p>
-<p id='n682' class='stm run hide_run'><a href='#n682'>682</a></p>
-<p id='n683' class='pln'><a href='#n683'>683</a></p>
-<p id='n684' class='stm run hide_run'><a href='#n684'>684</a></p>
-<p id='n685' class='stm run hide_run'><a href='#n685'>685</a></p>
-<p id='n686' class='stm run hide_run'><a href='#n686'>686</a></p>
-<p id='n687' class='stm run hide_run'><a href='#n687'>687</a></p>
-<p id='n688' class='pln'><a href='#n688'>688</a></p>
-<p id='n689' class='stm run hide_run'><a href='#n689'>689</a></p>
-<p id='n690' class='stm run hide_run'><a href='#n690'>690</a></p>
-<p id='n691' class='stm run hide_run'><a href='#n691'>691</a></p>
-<p id='n692' class='pln'><a href='#n692'>692</a></p>
-<p id='n693' class='stm run hide_run'><a href='#n693'>693</a></p>
-<p id='n694' class='stm run hide_run'><a href='#n694'>694</a></p>
-<p id='n695' class='pln'><a href='#n695'>695</a></p>
-<p id='n696' class='stm run hide_run'><a href='#n696'>696</a></p>
-<p id='n697' class='stm run hide_run'><a href='#n697'>697</a></p>
-<p id='n698' class='stm run hide_run'><a href='#n698'>698</a></p>
-<p id='n699' class='stm run hide_run'><a href='#n699'>699</a></p>
-<p id='n700' class='stm run hide_run'><a href='#n700'>700</a></p>
-<p id='n701' class='stm run hide_run'><a href='#n701'>701</a></p>
-<p id='n702' class='pln'><a href='#n702'>702</a></p>
-<p id='n703' class='stm run hide_run'><a href='#n703'>703</a></p>
-<p id='n704' class='stm run hide_run'><a href='#n704'>704</a></p>
-<p id='n705' class='pln'><a href='#n705'>705</a></p>
-<p id='n706' class='stm run hide_run'><a href='#n706'>706</a></p>
-<p id='n707' class='stm run hide_run'><a href='#n707'>707</a></p>
-<p id='n708' class='stm run hide_run'><a href='#n708'>708</a></p>
-<p id='n709' class='stm run hide_run'><a href='#n709'>709</a></p>
-<p id='n710' class='pln'><a href='#n710'>710</a></p>
-<p id='n711' class='stm run hide_run'><a href='#n711'>711</a></p>
-<p id='n712' class='pln'><a href='#n712'>712</a></p>
-<p id='n713' class='stm run hide_run'><a href='#n713'>713</a></p>
-<p id='n714' class='stm run hide_run'><a href='#n714'>714</a></p>
-<p id='n715' class='pln'><a href='#n715'>715</a></p>
-<p id='n716' class='stm run hide_run'><a href='#n716'>716</a></p>
-<p id='n717' class='stm run hide_run'><a href='#n717'>717</a></p>
-<p id='n718' class='stm run hide_run'><a href='#n718'>718</a></p>
-<p id='n719' class='pln'><a href='#n719'>719</a></p>
-<p id='n720' class='stm run hide_run'><a href='#n720'>720</a></p>
-<p id='n721' class='stm mis'><a href='#n721'>721</a></p>
-<p id='n722' class='pln'><a href='#n722'>722</a></p>
-<p id='n723' class='stm run hide_run'><a href='#n723'>723</a></p>
-<p id='n724' class='stm run hide_run'><a href='#n724'>724</a></p>
-<p id='n725' class='stm run hide_run'><a href='#n725'>725</a></p>
-<p id='n726' class='pln'><a href='#n726'>726</a></p>
-<p id='n727' class='pln'><a href='#n727'>727</a></p>
-<p id='n728' class='stm run hide_run'><a href='#n728'>728</a></p>
-<p id='n729' class='stm run hide_run'><a href='#n729'>729</a></p>
-<p id='n730' class='stm run hide_run'><a href='#n730'>730</a></p>
-<p id='n731' class='stm run hide_run'><a href='#n731'>731</a></p>
-<p id='n732' class='pln'><a href='#n732'>732</a></p>
-<p id='n733' class='stm run hide_run'><a href='#n733'>733</a></p>
-<p id='n734' class='pln'><a href='#n734'>734</a></p>
-<p id='n735' class='pln'><a href='#n735'>735</a></p>
-<p id='n736' class='pln'><a href='#n736'>736</a></p>
-<p id='n737' class='pln'><a href='#n737'>737</a></p>
-<p id='n738' class='pln'><a href='#n738'>738</a></p>
-<p id='n739' class='stm run hide_run'><a href='#n739'>739</a></p>
-<p id='n740' class='stm run hide_run'><a href='#n740'>740</a></p>
-<p id='n741' class='stm run hide_run'><a href='#n741'>741</a></p>
-<p id='n742' class='pln'><a href='#n742'>742</a></p>
-<p id='n743' class='stm run hide_run'><a href='#n743'>743</a></p>
-<p id='n744' class='stm mis'><a href='#n744'>744</a></p>
-<p id='n745' class='stm run hide_run'><a href='#n745'>745</a></p>
-<p id='n746' class='stm run hide_run'><a href='#n746'>746</a></p>
-<p id='n747' class='pln'><a href='#n747'>747</a></p>
-<p id='n748' class='stm run hide_run'><a href='#n748'>748</a></p>
-<p id='n749' class='stm run hide_run'><a href='#n749'>749</a></p>
-<p id='n750' class='stm mis'><a href='#n750'>750</a></p>
-<p id='n751' class='pln'><a href='#n751'>751</a></p>
-<p id='n752' class='stm run hide_run'><a href='#n752'>752</a></p>
-<p id='n753' class='stm run hide_run'><a href='#n753'>753</a></p>
-<p id='n754' class='stm run hide_run'><a href='#n754'>754</a></p>
-<p id='n755' class='stm run hide_run'><a href='#n755'>755</a></p>
-<p id='n756' class='stm run hide_run'><a href='#n756'>756</a></p>
-<p id='n757' class='pln'><a href='#n757'>757</a></p>
-<p id='n758' class='pln'><a href='#n758'>758</a></p>
-<p id='n759' class='stm run hide_run'><a href='#n759'>759</a></p>
-<p id='n760' class='stm run hide_run'><a href='#n760'>760</a></p>
-<p id='n761' class='stm run hide_run'><a href='#n761'>761</a></p>
-<p id='n762' class='stm run hide_run'><a href='#n762'>762</a></p>
-<p id='n763' class='pln'><a href='#n763'>763</a></p>
-<p id='n764' class='stm run hide_run'><a href='#n764'>764</a></p>
-<p id='n765' class='pln'><a href='#n765'>765</a></p>
-<p id='n766' class='pln'><a href='#n766'>766</a></p>
-<p id='n767' class='pln'><a href='#n767'>767</a></p>
-<p id='n768' class='stm run hide_run'><a href='#n768'>768</a></p>
-<p id='n769' class='stm mis'><a href='#n769'>769</a></p>
-<p id='n770' class='stm mis'><a href='#n770'>770</a></p>
-<p id='n771' class='pln'><a href='#n771'>771</a></p>
-<p id='n772' class='stm mis'><a href='#n772'>772</a></p>
-<p id='n773' class='stm mis'><a href='#n773'>773</a></p>
-<p id='n774' class='stm mis'><a href='#n774'>774</a></p>
-<p id='n775' class='stm mis'><a href='#n775'>775</a></p>
-<p id='n776' class='stm mis'><a href='#n776'>776</a></p>
-<p id='n777' class='pln'><a href='#n777'>777</a></p>
-<p id='n778' class='pln'><a href='#n778'>778</a></p>
-<p id='n779' class='stm run hide_run'><a href='#n779'>779</a></p>
-<p id='n780' class='stm run hide_run'><a href='#n780'>780</a></p>
-<p id='n781' class='stm run hide_run'><a href='#n781'>781</a></p>
-<p id='n782' class='stm run hide_run'><a href='#n782'>782</a></p>
-<p id='n783' class='pln'><a href='#n783'>783</a></p>
-<p id='n784' class='stm run hide_run'><a href='#n784'>784</a></p>
-<p id='n785' class='pln'><a href='#n785'>785</a></p>
-<p id='n786' class='pln'><a href='#n786'>786</a></p>
-<p id='n787' class='pln'><a href='#n787'>787</a></p>
-<p id='n788' class='pln'><a href='#n788'>788</a></p>
-<p id='n789' class='pln'><a href='#n789'>789</a></p>
-<p id='n790' class='pln'><a href='#n790'>790</a></p>
-<p id='n791' class='pln'><a href='#n791'>791</a></p>
-<p id='n792' class='pln'><a href='#n792'>792</a></p>
-<p id='n793' class='stm run hide_run'><a href='#n793'>793</a></p>
-<p id='n794' class='stm run hide_run'><a href='#n794'>794</a></p>
-<p id='n795' class='stm run hide_run'><a href='#n795'>795</a></p>
-<p id='n796' class='stm run hide_run'><a href='#n796'>796</a></p>
-<p id='n797' class='pln'><a href='#n797'>797</a></p>
-<p id='n798' class='stm run hide_run'><a href='#n798'>798</a></p>
-<p id='n799' class='stm run hide_run'><a href='#n799'>799</a></p>
-<p id='n800' class='stm run hide_run'><a href='#n800'>800</a></p>
-<p id='n801' class='stm run hide_run'><a href='#n801'>801</a></p>
-<p id='n802' class='pln'><a href='#n802'>802</a></p>
-<p id='n803' class='stm run hide_run'><a href='#n803'>803</a></p>
-<p id='n804' class='pln'><a href='#n804'>804</a></p>
-<p id='n805' class='pln'><a href='#n805'>805</a></p>
-<p id='n806' class='pln'><a href='#n806'>806</a></p>
-<p id='n807' class='pln'><a href='#n807'>807</a></p>
-<p id='n808' class='pln'><a href='#n808'>808</a></p>
-<p id='n809' class='pln'><a href='#n809'>809</a></p>
-<p id='n810' class='stm run hide_run'><a href='#n810'>810</a></p>
-<p id='n811' class='stm run hide_run'><a href='#n811'>811</a></p>
-<p id='n812' class='stm run hide_run'><a href='#n812'>812</a></p>
-<p id='n813' class='stm run hide_run'><a href='#n813'>813</a></p>
-<p id='n814' class='stm run hide_run'><a href='#n814'>814</a></p>
-<p id='n815' class='stm run hide_run'><a href='#n815'>815</a></p>
-<p id='n816' class='stm run hide_run'><a href='#n816'>816</a></p>
-<p id='n817' class='stm run hide_run'><a href='#n817'>817</a></p>
-<p id='n818' class='pln'><a href='#n818'>818</a></p>
-<p id='n819' class='stm run hide_run'><a href='#n819'>819</a></p>
-<p id='n820' class='stm run hide_run'><a href='#n820'>820</a></p>
-<p id='n821' class='stm run hide_run'><a href='#n821'>821</a></p>
-<p id='n822' class='stm mis'><a href='#n822'>822</a></p>
-<p id='n823' class='pln'><a href='#n823'>823</a></p>
-<p id='n824' class='pln'><a href='#n824'>824</a></p>
-<p id='n825' class='pln'><a href='#n825'>825</a></p>
-<p id='n826' class='stm run hide_run'><a href='#n826'>826</a></p>
-<p id='n827' class='stm mis'><a href='#n827'>827</a></p>
-<p id='n828' class='stm run hide_run'><a href='#n828'>828</a></p>
-<p id='n829' class='stm run hide_run'><a href='#n829'>829</a></p>
-<p id='n830' class='pln'><a href='#n830'>830</a></p>
-<p id='n831' class='stm run hide_run'><a href='#n831'>831</a></p>
-<p id='n832' class='stm run hide_run'><a href='#n832'>832</a></p>
-<p id='n833' class='pln'><a href='#n833'>833</a></p>
-<p id='n834' class='pln'><a href='#n834'>834</a></p>
-<p id='n835' class='pln'><a href='#n835'>835</a></p>
-<p id='n836' class='pln'><a href='#n836'>836</a></p>
-<p id='n837' class='stm mis'><a href='#n837'>837</a></p>
-<p id='n838' class='stm run hide_run'><a href='#n838'>838</a></p>
-<p id='n839' class='pln'><a href='#n839'>839</a></p>
-<p id='n840' class='stm run hide_run'><a href='#n840'>840</a></p>
-<p id='n841' class='stm run hide_run'><a href='#n841'>841</a></p>
-<p id='n842' class='stm run hide_run'><a href='#n842'>842</a></p>
-<p id='n843' class='stm run hide_run'><a href='#n843'>843</a></p>
-<p id='n844' class='stm run hide_run'><a href='#n844'>844</a></p>
-<p id='n845' class='stm mis'><a href='#n845'>845</a></p>
-<p id='n846' class='stm run hide_run'><a href='#n846'>846</a></p>
-<p id='n847' class='pln'><a href='#n847'>847</a></p>
-<p id='n848' class='pln'><a href='#n848'>848</a></p>
-<p id='n849' class='stm run hide_run'><a href='#n849'>849</a></p>
-<p id='n850' class='stm run hide_run'><a href='#n850'>850</a></p>
-<p id='n851' class='stm run hide_run'><a href='#n851'>851</a></p>
-<p id='n852' class='stm run hide_run'><a href='#n852'>852</a></p>
-<p id='n853' class='stm run hide_run'><a href='#n853'>853</a></p>
-<p id='n854' class='stm run hide_run'><a href='#n854'>854</a></p>
-<p id='n855' class='pln'><a href='#n855'>855</a></p>
-<p id='n856' class='stm run hide_run'><a href='#n856'>856</a></p>
-<p id='n857' class='pln'><a href='#n857'>857</a></p>
-<p id='n858' class='pln'><a href='#n858'>858</a></p>
-<p id='n859' class='pln'><a href='#n859'>859</a></p>
-<p id='n860' class='pln'><a href='#n860'>860</a></p>
-<p id='n861' class='pln'><a href='#n861'>861</a></p>
-<p id='n862' class='pln'><a href='#n862'>862</a></p>
-<p id='n863' class='pln'><a href='#n863'>863</a></p>
-<p id='n864' class='stm run hide_run'><a href='#n864'>864</a></p>
-<p id='n865' class='stm run hide_run'><a href='#n865'>865</a></p>
-<p id='n866' class='stm run hide_run'><a href='#n866'>866</a></p>
-<p id='n867' class='stm run hide_run'><a href='#n867'>867</a></p>
-<p id='n868' class='pln'><a href='#n868'>868</a></p>
-<p id='n869' class='stm run hide_run'><a href='#n869'>869</a></p>
-<p id='n870' class='stm run hide_run'><a href='#n870'>870</a></p>
-<p id='n871' class='stm mis'><a href='#n871'>871</a></p>
-<p id='n872' class='pln'><a href='#n872'>872</a></p>
-<p id='n873' class='pln'><a href='#n873'>873</a></p>
-<p id='n874' class='stm run hide_run'><a href='#n874'>874</a></p>
-<p id='n875' class='stm run hide_run'><a href='#n875'>875</a></p>
-<p id='n876' class='stm run hide_run'><a href='#n876'>876</a></p>
-<p id='n877' class='stm mis'><a href='#n877'>877</a></p>
-<p id='n878' class='stm mis'><a href='#n878'>878</a></p>
-<p id='n879' class='pln'><a href='#n879'>879</a></p>
-<p id='n880' class='stm run hide_run'><a href='#n880'>880</a></p>
-<p id='n881' class='stm mis'><a href='#n881'>881</a></p>
-<p id='n882' class='stm mis'><a href='#n882'>882</a></p>
-<p id='n883' class='stm run hide_run'><a href='#n883'>883</a></p>
-<p id='n884' class='stm mis'><a href='#n884'>884</a></p>
-<p id='n885' class='stm run hide_run'><a href='#n885'>885</a></p>
-<p id='n886' class='stm mis'><a href='#n886'>886</a></p>
-<p id='n887' class='pln'><a href='#n887'>887</a></p>
-<p id='n888' class='stm run hide_run'><a href='#n888'>888</a></p>
-<p id='n889' class='pln'><a href='#n889'>889</a></p>
-<p id='n890' class='stm run hide_run'><a href='#n890'>890</a></p>
-<p id='n891' class='stm mis'><a href='#n891'>891</a></p>
-<p id='n892' class='pln'><a href='#n892'>892</a></p>
-<p id='n893' class='pln'><a href='#n893'>893</a></p>
-<p id='n894' class='stm run hide_run'><a href='#n894'>894</a></p>
-<p id='n895' class='stm run hide_run'><a href='#n895'>895</a></p>
-<p id='n896' class='stm run hide_run'><a href='#n896'>896</a></p>
-<p id='n897' class='stm run hide_run'><a href='#n897'>897</a></p>
-<p id='n898' class='stm run hide_run'><a href='#n898'>898</a></p>
-<p id='n899' class='pln'><a href='#n899'>899</a></p>
-<p id='n900' class='stm run hide_run'><a href='#n900'>900</a></p>
-<p id='n901' class='pln'><a href='#n901'>901</a></p>
-<p id='n902' class='pln'><a href='#n902'>902</a></p>
-<p id='n903' class='pln'><a href='#n903'>903</a></p>
-<p id='n904' class='pln'><a href='#n904'>904</a></p>
-<p id='n905' class='stm run hide_run'><a href='#n905'>905</a></p>
-<p id='n906' class='pln'><a href='#n906'>906</a></p>
-<p id='n907' class='pln'><a href='#n907'>907</a></p>
-<p id='n908' class='pln'><a href='#n908'>908</a></p>
-<p id='n909' class='pln'><a href='#n909'>909</a></p>
-<p id='n910' class='stm mis'><a href='#n910'>910</a></p>
-<p id='n911' class='stm mis'><a href='#n911'>911</a></p>
-<p id='n912' class='stm mis'><a href='#n912'>912</a></p>
-<p id='n913' class='pln'><a href='#n913'>913</a></p>
-<p id='n914' class='stm mis'><a href='#n914'>914</a></p>
-<p id='n915' class='stm mis'><a href='#n915'>915</a></p>
-<p id='n916' class='pln'><a href='#n916'>916</a></p>
-<p id='n917' class='pln'><a href='#n917'>917</a></p>
-<p id='n918' class='pln'><a href='#n918'>918</a></p>
-<p id='n919' class='stm mis'><a href='#n919'>919</a></p>
-<p id='n920' class='stm mis'><a href='#n920'>920</a></p>
-<p id='n921' class='pln'><a href='#n921'>921</a></p>
-<p id='n922' class='stm mis'><a href='#n922'>922</a></p>
-<p id='n923' class='stm mis'><a href='#n923'>923</a></p>
-<p id='n924' class='pln'><a href='#n924'>924</a></p>
-<p id='n925' class='stm mis'><a href='#n925'>925</a></p>
-<p id='n926' class='pln'><a href='#n926'>926</a></p>
-<p id='n927' class='stm mis'><a href='#n927'>927</a></p>
-<p id='n928' class='pln'><a href='#n928'>928</a></p>
-<p id='n929' class='pln'><a href='#n929'>929</a></p>
-<p id='n930' class='pln'><a href='#n930'>930</a></p>
-<p id='n931' class='stm mis'><a href='#n931'>931</a></p>
-<p id='n932' class='stm mis'><a href='#n932'>932</a></p>
-<p id='n933' class='pln'><a href='#n933'>933</a></p>
-<p id='n934' class='pln'><a href='#n934'>934</a></p>
-<p id='n935' class='pln'><a href='#n935'>935</a></p>
-<p id='n936' class='stm mis'><a href='#n936'>936</a></p>
-<p id='n937' class='stm mis'><a href='#n937'>937</a></p>
-<p id='n938' class='stm mis'><a href='#n938'>938</a></p>
-<p id='n939' class='stm mis'><a href='#n939'>939</a></p>
-<p id='n940' class='stm mis'><a href='#n940'>940</a></p>
-<p id='n941' class='stm mis'><a href='#n941'>941</a></p>
-<p id='n942' class='pln'><a href='#n942'>942</a></p>
-<p id='n943' class='pln'><a href='#n943'>943</a></p>
-<p id='n944' class='stm run hide_run'><a href='#n944'>944</a></p>
-<p id='n945' class='pln'><a href='#n945'>945</a></p>
-<p id='n946' class='pln'><a href='#n946'>946</a></p>
-<p id='n947' class='pln'><a href='#n947'>947</a></p>
-<p id='n948' class='pln'><a href='#n948'>948</a></p>
-<p id='n949' class='stm run hide_run'><a href='#n949'>949</a></p>
-<p id='n950' class='stm run hide_run'><a href='#n950'>950</a></p>
-<p id='n951' class='stm run hide_run'><a href='#n951'>951</a></p>
-<p id='n952' class='pln'><a href='#n952'>952</a></p>
-<p id='n953' class='stm run hide_run'><a href='#n953'>953</a></p>
-<p id='n954' class='stm run hide_run'><a href='#n954'>954</a></p>
-<p id='n955' class='stm run hide_run'><a href='#n955'>955</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Serializer fields perform validation on incoming data.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>They are very similar to Django&#39;s form fields.</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>copy</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>datetime</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>inspect</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>re</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>warnings</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>decimal</span> <span class='key'>import</span> <span class='nam'>Decimal</span><span class='op'>,</span> <span class='nam'>DecimalException</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span> <span class='key'>import</span> <span class='nam'>forms</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span> <span class='key'>import</span> <span class='nam'>validators</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>exceptions</span> <span class='key'>import</span> <span class='nam'>ValidationError</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>conf</span> <span class='key'>import</span> <span class='nam'>settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>db</span><span class='op'>.</span><span class='nam'>models</span><span class='op'>.</span><span class='nam'>fields</span> <span class='key'>import</span> <span class='nam'>BLANK_CHOICE_DASH</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>forms</span> <span class='key'>import</span> <span class='nam'>widgets</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>encoding</span> <span class='key'>import</span> <span class='nam'>is_protected_type</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>translation</span> <span class='key'>import</span> <span class='nam'>ugettext_lazy</span> <span class='key'>as</span> <span class='nam'>_</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>datastructures</span> <span class='key'>import</span> <span class='nam'>SortedDict</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>ISO_8601</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'>&nbsp; &nbsp; <span class='nam'>timezone</span><span class='op'>,</span> <span class='nam'>parse_date</span><span class='op'>,</span> <span class='nam'>parse_datetime</span><span class='op'>,</span> <span class='nam'>parse_time</span><span class='op'>,</span> <span class='nam'>BytesIO</span><span class='op'>,</span> <span class='nam'>six</span><span class='op'>,</span> <span class='nam'>smart_text</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'>&nbsp; &nbsp; <span class='nam'>force_text</span><span class='op'>,</span> <span class='nam'>is_non_str_iterable</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>settings</span> <span class='key'>import</span> <span class='nam'>api_settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>is_simple_callable</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='str'>&nbsp; &nbsp; True if the object is a callable that takes no arguments.</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>function</span> <span class='op'>=</span> <span class='nam'>inspect</span><span class='op'>.</span><span class='nam'>isfunction</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>method</span> <span class='op'>=</span> <span class='nam'>inspect</span><span class='op'>.</span><span class='nam'>ismethod</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='op'>(</span><span class='nam'>function</span> <span class='key'>or</span> <span class='nam'>method</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>args</span><span class='op'>,</span> <span class='nam'>_</span><span class='op'>,</span> <span class='nam'>_</span><span class='op'>,</span> <span class='nam'>defaults</span> <span class='op'>=</span> <span class='nam'>inspect</span><span class='op'>.</span><span class='nam'>getargspec</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>len_args</span> <span class='op'>=</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>args</span><span class='op'>)</span> <span class='key'>if</span> <span class='nam'>function</span> <span class='key'>else</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>args</span><span class='op'>)</span> <span class='op'>-</span> <span class='num'>1</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>len_defaults</span> <span class='op'>=</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>defaults</span><span class='op'>)</span> <span class='key'>if</span> <span class='nam'>defaults</span> <span class='key'>else</span> <span class='num'>0</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>len_args</span> <span class='op'>&lt;=</span> <span class='nam'>len_defaults</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>get_component</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>attr_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'><span class='str'>&nbsp; &nbsp; Given an object, and an attribute name,</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'><span class='str'>&nbsp; &nbsp; return that attribute on the object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>dict</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>val</span> <span class='op'>=</span> <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>attr_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'>&nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>val</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>attr_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>is_simple_callable</span><span class='op'>(</span><span class='nam'>val</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>val</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>val</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>readable_datetime_formats</span><span class='op'>(</span><span class='nam'>formats</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='str'>&#39;, &#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>formats</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='nam'>ISO_8601</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&#39;YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HHMM|-HHMM|Z]&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>humanize_strptime</span><span class='op'>(</span><span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>readable_date_formats</span><span class='op'>(</span><span class='nam'>formats</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='str'>&#39;, &#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>formats</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='nam'>ISO_8601</span><span class='op'>,</span> <span class='str'>&#39;YYYY[-MM[-DD]]&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>humanize_strptime</span><span class='op'>(</span><span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>readable_time_formats</span><span class='op'>(</span><span class='nam'>formats</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='str'>&#39;, &#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>formats</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='nam'>ISO_8601</span><span class='op'>,</span> <span class='str'>&#39;hh:mm[:ss[.uuuuuu]]&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>humanize_strptime</span><span class='op'>(</span><span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>humanize_strptime</span><span class='op'>(</span><span class='nam'>format_string</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'>&nbsp; &nbsp; <span class='com'># Note that we&#39;re missing some of the locale specific mappings that</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'>&nbsp; &nbsp; <span class='com'># don&#39;t really make sense.</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>mapping</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%Y&quot;</span><span class='op'>:</span> <span class='str'>&quot;YYYY&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%y&quot;</span><span class='op'>:</span> <span class='str'>&quot;YY&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%m&quot;</span><span class='op'>:</span> <span class='str'>&quot;MM&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%b&quot;</span><span class='op'>:</span> <span class='str'>&quot;[Jan-Dec]&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%B&quot;</span><span class='op'>:</span> <span class='str'>&quot;[January-December]&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%d&quot;</span><span class='op'>:</span> <span class='str'>&quot;DD&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%H&quot;</span><span class='op'>:</span> <span class='str'>&quot;hh&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%I&quot;</span><span class='op'>:</span> <span class='str'>&quot;hh&quot;</span><span class='op'>,</span>&nbsp; <span class='com'># Requires &#39;%p&#39; to differentiate from &#39;%H&#39;.</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%M&quot;</span><span class='op'>:</span> <span class='str'>&quot;mm&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%S&quot;</span><span class='op'>:</span> <span class='str'>&quot;ss&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%f&quot;</span><span class='op'>:</span> <span class='str'>&quot;uuuuuu&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%a&quot;</span><span class='op'>:</span> <span class='str'>&quot;[Mon-Sun]&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%A&quot;</span><span class='op'>:</span> <span class='str'>&quot;[Monday-Sunday]&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%p&quot;</span><span class='op'>:</span> <span class='str'>&quot;[AM|PM]&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;%z&quot;</span><span class='op'>:</span> <span class='str'>&quot;[+HHMM|-HHMM]&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span><span class='op'>,</span> <span class='nam'>val</span> <span class='key'>in</span> <span class='nam'>mapping</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>format_string</span> <span class='op'>=</span> <span class='nam'>format_string</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='nam'>key</span><span class='op'>,</span> <span class='nam'>val</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>format_string</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>Field</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>read_only</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>creation_counter</span> <span class='op'>=</span> <span class='num'>0</span><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>empty</span> <span class='op'>=</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>partial</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>use_files</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>CharField</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;field&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>source</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>label</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>help_text</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parent</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>creation_counter</span> <span class='op'>=</span> <span class='nam'>Field</span><span class='op'>.</span><span class='nam'>creation_counter</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>Field</span><span class='op'>.</span><span class='nam'>creation_counter</span> <span class='op'>+=</span> <span class='num'>1</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='op'>=</span> <span class='nam'>source</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>label</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>label</span> <span class='op'>=</span> <span class='nam'>smart_text</span><span class='op'>(</span><span class='nam'>label</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>help_text</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>help_text</span> <span class='op'>=</span> <span class='nam'>smart_text</span><span class='op'>(</span><span class='nam'>help_text</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>initialize</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>parent</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Called to set up a field prior to field_to_native or field_from_native.</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; parent - The parent serializer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; model_field - The model field this field corresponds to, if one exists.</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parent</span> <span class='op'>=</span> <span class='nam'>parent</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>root</span> <span class='op'>=</span> <span class='nam'>parent</span><span class='op'>.</span><span class='nam'>root</span> <span class='key'>or</span> <span class='nam'>parent</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>context</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>root</span><span class='op'>.</span><span class='nam'>context</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>partial</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>root</span><span class='op'>.</span><span class='nam'>partial</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>partial</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>required</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>field_from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>into</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given a dictionary and a field name, updates the dictionary `into`,</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; with the field and it&#39;s deserialized value.</span><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>field_to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given and object and a field name, returns the value that should be</span><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; serialized for that field.</span><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>obj</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>empty</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='op'>==</span> <span class='str'>&#39;*&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>source</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>obj</span><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>component</span> <span class='key'>in</span> <span class='nam'>source</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='str'>&#39;.&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>get_component</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>component</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>break</span><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Converts the field&#39;s value into it&#39;s simple representation.</span><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>is_simple_callable</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>value</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>is_protected_type</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='op'>(</span><span class='nam'>is_non_str_iterable</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span> <span class='key'>and</span><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>not</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>dict</span><span class='op'>,</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>string_types</span><span class='op'>)</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>value</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>dict</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Make sure we preserve field ordering, if it exists</span><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>SortedDict</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span><span class='op'>,</span> <span class='nam'>val</span> <span class='key'>in</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='nam'>key</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>val</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>force_text</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>attributes</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a dictionary of attributes to be used when serializing to xml.</span><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t193' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>type_name</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t194' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>{</span><span class='str'>&#39;type&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>type_name</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t195' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t196' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t197' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>metadata</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t198' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>metadata</span> <span class='op'>=</span> <span class='nam'>SortedDict</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t199' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>metadata</span><span class='op'>[</span><span class='str'>&#39;type&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>type_label</span><span class='strut'>&nbsp;</span></p>
-<p id='t200' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>metadata</span><span class='op'>[</span><span class='str'>&#39;required&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;required&#39;</span><span class='op'>,</span> <span class='nam'>False</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t201' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>optional_attrs</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;read_only&#39;</span><span class='op'>,</span> <span class='str'>&#39;label&#39;</span><span class='op'>,</span> <span class='str'>&#39;help_text&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t202' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;min_length&#39;</span><span class='op'>,</span> <span class='str'>&#39;max_length&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t203' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>attr</span> <span class='key'>in</span> <span class='nam'>optional_attrs</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t204' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>attr</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t205' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>value</span> <span class='op'>!=</span> <span class='str'>&#39;&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t206' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>metadata</span><span class='op'>[</span><span class='nam'>attr</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>force_text</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>strings_only</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t207' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>metadata</span><span class='strut'>&nbsp;</span></p>
-<p id='t208' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t209' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t210' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>WritableField</span><span class='op'>(</span><span class='nam'>Field</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t211' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t212' class='pln'><span class='str'>&nbsp; &nbsp; Base for read/write fields.</span><span class='strut'>&nbsp;</span></p>
-<p id='t213' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t214' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_validators</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t215' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t216' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;required&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;This field is required.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t217' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Invalid value.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t218' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t219' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>widget</span> <span class='op'>=</span> <span class='nam'>widgets</span><span class='op'>.</span><span class='nam'>TextInput</span><span class='strut'>&nbsp;</span></p>
-<p id='t220' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t221' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t222' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>source</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>label</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>help_text</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t223' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>read_only</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>,</span> <span class='nam'>required</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t224' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>validators</span><span class='op'>=</span><span class='op'>[</span><span class='op'>]</span><span class='op'>,</span> <span class='nam'>error_messages</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>widget</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t225' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>default</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>blank</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t226' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t227' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># &#39;blank&#39; is to be deprecated in favor of &#39;required&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t228' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>blank</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t229' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='str'>&#39;The `blank` keyword argument is deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t230' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Use the `required` keyword argument instead.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t231' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>DeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t232' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>required</span> <span class='op'>=</span> <span class='key'>not</span><span class='op'>(</span><span class='nam'>blank</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t233' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t234' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>source</span><span class='op'>=</span><span class='nam'>source</span><span class='op'>,</span> <span class='nam'>label</span><span class='op'>=</span><span class='nam'>label</span><span class='op'>,</span> <span class='nam'>help_text</span><span class='op'>=</span><span class='nam'>help_text</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t235' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t236' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>read_only</span> <span class='op'>=</span> <span class='nam'>read_only</span><span class='strut'>&nbsp;</span></p>
-<p id='t237' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>required</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t238' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>required</span> <span class='op'>=</span> <span class='key'>not</span><span class='op'>(</span><span class='nam'>read_only</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t239' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t240' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='key'>not</span> <span class='op'>(</span><span class='nam'>read_only</span> <span class='key'>and</span> <span class='nam'>required</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&quot;Cannot set required=True and read_only=True&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t241' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>required</span> <span class='op'>=</span> <span class='nam'>required</span><span class='strut'>&nbsp;</span></p>
-<p id='t242' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t243' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t244' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>c</span> <span class='key'>in</span> <span class='nam'>reversed</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>.</span><span class='nam'>__mro__</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t245' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>messages</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>c</span><span class='op'>,</span> <span class='str'>&#39;default_error_messages&#39;</span><span class='op'>,</span> <span class='op'>{</span><span class='op'>}</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t246' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>messages</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='nam'>error_messages</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t247' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span> <span class='op'>=</span> <span class='nam'>messages</span><span class='strut'>&nbsp;</span></p>
-<p id='t248' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t249' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_validators</span> <span class='op'>+</span> <span class='nam'>validators</span><span class='strut'>&nbsp;</span></p>
-<p id='t250' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default</span> <span class='op'>=</span> <span class='nam'>default</span> <span class='key'>if</span> <span class='nam'>default</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>else</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default</span><span class='strut'>&nbsp;</span></p>
-<p id='t251' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t252' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Widgets are ony used for HTML forms.</span><span class='strut'>&nbsp;</span></p>
-<p id='t253' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>widget</span> <span class='op'>=</span> <span class='nam'>widget</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>widget</span><span class='strut'>&nbsp;</span></p>
-<p id='t254' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>widget</span><span class='op'>,</span> <span class='nam'>type</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t255' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>widget</span> <span class='op'>=</span> <span class='nam'>widget</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t256' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>widget</span> <span class='op'>=</span> <span class='nam'>widget</span><span class='strut'>&nbsp;</span></p>
-<p id='t257' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t258' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__deepcopy__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>memo</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t259' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>result</span> <span class='op'>=</span> <span class='nam'>copy</span><span class='op'>.</span><span class='nam'>copy</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t260' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>memo</span><span class='op'>[</span><span class='nam'>id</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>result</span><span class='strut'>&nbsp;</span></p>
-<p id='t261' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>result</span><span class='op'>.</span><span class='nam'>validators</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>[</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t262' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>result</span><span class='strut'>&nbsp;</span></p>
-<p id='t263' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t264' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>validate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t265' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='nam'>validators</span><span class='op'>.</span><span class='nam'>EMPTY_VALUES</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>required</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t266' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;required&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t267' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t268' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>run_validators</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t269' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='nam'>validators</span><span class='op'>.</span><span class='nam'>EMPTY_VALUES</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t270' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t271' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>errors</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t272' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>v</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t273' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t274' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>v</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t275' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ValidationError</span> <span class='key'>as</span> <span class='nam'>e</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t276' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>e</span><span class='op'>,</span> <span class='str'>&#39;code&#39;</span><span class='op'>)</span> <span class='key'>and</span> <span class='nam'>e</span><span class='op'>.</span><span class='nam'>code</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t277' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>message</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='nam'>e</span><span class='op'>.</span><span class='nam'>code</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t278' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>e</span><span class='op'>.</span><span class='nam'>params</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t279' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>message</span> <span class='op'>=</span> <span class='nam'>message</span> <span class='op'>%</span> <span class='nam'>e</span><span class='op'>.</span><span class='nam'>params</span><span class='strut'>&nbsp;</span></p>
-<p id='t280' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>errors</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>message</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t281' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t282' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>errors</span><span class='op'>.</span><span class='nam'>extend</span><span class='op'>(</span><span class='nam'>e</span><span class='op'>.</span><span class='nam'>messages</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t283' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>errors</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t284' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>errors</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t285' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t286' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>field_from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>into</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t287' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t288' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given a dictionary and a field name, updates the dictionary `into`,</span><span class='strut'>&nbsp;</span></p>
-<p id='t289' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; with the field and it&#39;s deserialized value.</span><span class='strut'>&nbsp;</span></p>
-<p id='t290' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t291' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>read_only</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t292' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t293' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t294' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t295' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>use_files</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t296' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>files</span> <span class='op'>=</span> <span class='nam'>files</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t297' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>native</span> <span class='op'>=</span> <span class='nam'>files</span><span class='op'>[</span><span class='nam'>field_name</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t298' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t299' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>native</span> <span class='op'>=</span> <span class='nam'>data</span><span class='op'>[</span><span class='nam'>field_name</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t300' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>KeyError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t301' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>partial</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t302' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Note: partial updates shouldn&#39;t set defaults</span><span class='strut'>&nbsp;</span></p>
-<p id='t303' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>is_simple_callable</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>default</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t304' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>native</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t305' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t306' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>native</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default</span><span class='strut'>&nbsp;</span></p>
-<p id='t307' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t308' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>required</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t309' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;required&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t310' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t311' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t312' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>native</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t313' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='op'>==</span> <span class='str'>&#39;*&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t314' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t315' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>into</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t316' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t317' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validate</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t318' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>run_validators</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t319' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>into</span><span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t320' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t321' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t322' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t323' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Reverts a simple representation back to the field&#39;s value.</span><span class='strut'>&nbsp;</span></p>
-<p id='t324' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t325' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t326' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t327' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t328' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ModelField</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t329' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t330' class='pln'><span class='str'>&nbsp; &nbsp; A generic field that can be used against an arbitrary model field.</span><span class='strut'>&nbsp;</span></p>
-<p id='t331' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t332' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t333' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t334' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>model_field</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;model_field&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t335' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>KeyError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t336' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValueError</span><span class='op'>(</span><span class='str'>&quot;ModelField requires &#39;model_field&#39; kwarg&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t337' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t338' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>min_length</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;min_length&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t339' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>model_field</span><span class='op'>,</span> <span class='str'>&#39;min_length&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t340' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_length</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;max_length&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t341' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>model_field</span><span class='op'>,</span> <span class='str'>&#39;max_length&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t342' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>min_value</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;min_value&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t343' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>model_field</span><span class='op'>,</span> <span class='str'>&#39;min_value&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t344' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_value</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;max_value&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t345' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>model_field</span><span class='op'>,</span> <span class='str'>&#39;max_value&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t346' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t347' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>ModelField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t348' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t349' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>min_length</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t350' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>MinLengthValidator</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>min_length</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t351' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_length</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t352' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>MaxLengthValidator</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_length</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t353' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>min_value</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t354' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>MinValueValidator</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>min_value</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t355' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_value</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t356' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>MaxValueValidator</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_value</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t357' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t358' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t359' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>rel</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>model_field</span><span class='op'>,</span> <span class='str'>&quot;rel&quot;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t360' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>rel</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t361' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>rel</span><span class='op'>.</span><span class='nam'>to</span><span class='op'>.</span><span class='nam'>_meta</span><span class='op'>.</span><span class='nam'>get_field</span><span class='op'>(</span><span class='nam'>rel</span><span class='op'>.</span><span class='nam'>field_name</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>to_python</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t362' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t363' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>to_python</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t364' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t365' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>field_to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t366' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>_get_val_from_obj</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t367' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>is_protected_type</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t368' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t369' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>value_to_string</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t370' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t371' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>attributes</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t372' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t373' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;type&quot;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>get_internal_type</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t374' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t375' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t376' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t377' class='pln'><span class='com'>##### Typed Fields #####</span><span class='strut'>&nbsp;</span></p>
-<p id='t378' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t379' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BooleanField</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t380' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;BooleanField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t381' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;boolean&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t382' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>BooleanField</span><span class='strut'>&nbsp;</span></p>
-<p id='t383' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>widget</span> <span class='op'>=</span> <span class='nam'>widgets</span><span class='op'>.</span><span class='nam'>CheckboxInput</span><span class='strut'>&nbsp;</span></p>
-<p id='t384' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t385' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;&#39;%s&#39; value must be either True or False.&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t386' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t387' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>empty</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t388' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t389' class='pln'>&nbsp; &nbsp; <span class='com'># Note: we set default to `False` in order to fill in missing value not</span><span class='strut'>&nbsp;</span></p>
-<p id='t390' class='pln'>&nbsp; &nbsp; <span class='com'># supplied by html form.&nbsp; TODO: Fix so that only html form input gets</span><span class='strut'>&nbsp;</span></p>
-<p id='t391' class='pln'>&nbsp; &nbsp; <span class='com'># this behavior.</span><span class='strut'>&nbsp;</span></p>
-<p id='t392' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t393' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t394' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t395' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='op'>(</span><span class='str'>&#39;true&#39;</span><span class='op'>,</span> <span class='str'>&#39;t&#39;</span><span class='op'>,</span> <span class='str'>&#39;True&#39;</span><span class='op'>,</span> <span class='str'>&#39;1&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t396' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t397' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='op'>(</span><span class='str'>&#39;false&#39;</span><span class='op'>,</span> <span class='str'>&#39;f&#39;</span><span class='op'>,</span> <span class='str'>&#39;False&#39;</span><span class='op'>,</span> <span class='str'>&#39;0&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t398' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t399' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>bool</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t400' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t401' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t402' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CharField</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t403' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;CharField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t404' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;string&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t405' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>CharField</span><span class='strut'>&nbsp;</span></p>
-<p id='t406' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t407' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>max_length</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>min_length</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t408' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_length</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>min_length</span> <span class='op'>=</span> <span class='nam'>max_length</span><span class='op'>,</span> <span class='nam'>min_length</span><span class='strut'>&nbsp;</span></p>
-<p id='t409' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>CharField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t410' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>min_length</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t411' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>MinLengthValidator</span><span class='op'>(</span><span class='nam'>min_length</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t412' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>max_length</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t413' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>MaxLengthValidator</span><span class='op'>(</span><span class='nam'>max_length</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t414' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t415' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t416' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>string_types</span><span class='op'>)</span> <span class='key'>or</span> <span class='nam'>value</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t417' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t418' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>smart_text</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t419' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t420' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t421' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>URLField</span><span class='op'>(</span><span class='nam'>CharField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t422' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;URLField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t423' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;url&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t424' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t425' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t426' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;validators&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>URLValidator</span><span class='op'>(</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t427' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>URLField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t428' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t429' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t430' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>SlugField</span><span class='op'>(</span><span class='nam'>CharField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t431' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;SlugField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t432' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;slug&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t433' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>SlugField</span><span class='strut'>&nbsp;</span></p>
-<p id='t434' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t435' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t436' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;Enter a valid &#39;slug&#39; consisting of letters, numbers,&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t437' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&quot; underscores or hyphens.&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t438' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t439' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_validators</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>validate_slug</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t440' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t441' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t442' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>SlugField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t443' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t444' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t445' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ChoiceField</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t446' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;ChoiceField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t447' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;multiple choice&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t448' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>ChoiceField</span><span class='strut'>&nbsp;</span></p>
-<p id='t449' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>widget</span> <span class='op'>=</span> <span class='nam'>widgets</span><span class='op'>.</span><span class='nam'>Select</span><span class='strut'>&nbsp;</span></p>
-<p id='t450' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t451' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid_choice&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Select a valid choice. %(value)s is not one of &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t452' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;the available choices.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t453' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t454' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t455' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>choices</span><span class='op'>=</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t456' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>ChoiceField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t457' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>choices</span> <span class='op'>=</span> <span class='nam'>choices</span><span class='strut'>&nbsp;</span></p>
-<p id='t458' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>required</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t459' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>choices</span> <span class='op'>=</span> <span class='nam'>BLANK_CHOICE_DASH</span> <span class='op'>+</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>choices</span><span class='strut'>&nbsp;</span></p>
-<p id='t460' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t461' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_choices</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t462' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_choices</span><span class='strut'>&nbsp;</span></p>
-<p id='t463' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t464' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_set_choices</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t465' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Setting choices also sets the choices on the widget.</span><span class='strut'>&nbsp;</span></p>
-<p id='t466' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># choices can be any iterable, but we call list() on it because</span><span class='strut'>&nbsp;</span></p>
-<p id='t467' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># it will be consumed more than once.</span><span class='strut'>&nbsp;</span></p>
-<p id='t468' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_choices</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>widget</span><span class='op'>.</span><span class='nam'>choices</span> <span class='op'>=</span> <span class='nam'>list</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t469' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t470' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>choices</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='nam'>_get_choices</span><span class='op'>,</span> <span class='nam'>_set_choices</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t471' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t472' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>validate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t473' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t474' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Validates that the input is in self.choices.</span><span class='strut'>&nbsp;</span></p>
-<p id='t475' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t476' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>ChoiceField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>validate</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t477' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>valid_value</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t478' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;invalid_choice&#39;</span><span class='op'>]</span> <span class='op'>%</span> <span class='op'>{</span><span class='str'>&#39;value&#39;</span><span class='op'>:</span> <span class='nam'>value</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t479' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t480' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>valid_value</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t481' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t482' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Check to see if the provided value is a valid choice.</span><span class='strut'>&nbsp;</span></p>
-<p id='t483' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t484' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>k</span><span class='op'>,</span> <span class='nam'>v</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>choices</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t485' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>v</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>list</span><span class='op'>,</span> <span class='nam'>tuple</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t486' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># This is an optgroup, so look inside the group for options</span><span class='strut'>&nbsp;</span></p>
-<p id='t487' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>k2</span><span class='op'>,</span> <span class='nam'>v2</span> <span class='key'>in</span> <span class='nam'>v</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t488' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='op'>==</span> <span class='nam'>smart_text</span><span class='op'>(</span><span class='nam'>k2</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t489' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t490' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t491' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='op'>==</span> <span class='nam'>smart_text</span><span class='op'>(</span><span class='nam'>k</span><span class='op'>)</span> <span class='key'>or</span> <span class='nam'>value</span> <span class='op'>==</span> <span class='nam'>k</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t492' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t493' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t494' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t495' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t496' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>EmailField</span><span class='op'>(</span><span class='nam'>CharField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t497' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;EmailField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t498' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;email&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t499' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>EmailField</span><span class='strut'>&nbsp;</span></p>
-<p id='t500' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t501' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t502' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Enter a valid e-mail address.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t503' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t504' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_validators</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>validate_email</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t505' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t506' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t507' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>EmailField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t508' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>ret</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t509' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t510' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>strip</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t511' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t512' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t513' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>RegexField</span><span class='op'>(</span><span class='nam'>CharField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t514' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;RegexField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t515' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;regex&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t516' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>RegexField</span><span class='strut'>&nbsp;</span></p>
-<p id='t517' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t518' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>regex</span><span class='op'>,</span> <span class='nam'>max_length</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>min_length</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t519' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>RegexField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>max_length</span><span class='op'>,</span> <span class='nam'>min_length</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t520' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>regex</span> <span class='op'>=</span> <span class='nam'>regex</span><span class='strut'>&nbsp;</span></p>
-<p id='t521' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t522' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_regex</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t523' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_regex</span><span class='strut'>&nbsp;</span></p>
-<p id='t524' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t525' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_set_regex</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>regex</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t526' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>regex</span><span class='op'>,</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>string_types</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t527' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>regex</span> <span class='op'>=</span> <span class='nam'>re</span><span class='op'>.</span><span class='nam'>compile</span><span class='op'>(</span><span class='nam'>regex</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t528' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_regex</span> <span class='op'>=</span> <span class='nam'>regex</span><span class='strut'>&nbsp;</span></p>
-<p id='t529' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_regex_validator&#39;</span><span class='op'>)</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_regex_validator</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t530' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>remove</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_regex_validator</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t531' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_regex_validator</span> <span class='op'>=</span> <span class='nam'>validators</span><span class='op'>.</span><span class='nam'>RegexValidator</span><span class='op'>(</span><span class='nam'>regex</span><span class='op'>=</span><span class='nam'>regex</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t532' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_regex_validator</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t533' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t534' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>regex</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='nam'>_get_regex</span><span class='op'>,</span> <span class='nam'>_set_regex</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t535' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t536' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t537' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>DateField</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t538' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;DateField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t539' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;date&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t540' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>widget</span> <span class='op'>=</span> <span class='nam'>widgets</span><span class='op'>.</span><span class='nam'>DateInput</span><span class='strut'>&nbsp;</span></p>
-<p id='t541' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>DateField</span><span class='strut'>&nbsp;</span></p>
-<p id='t542' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t543' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t544' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;Date has wrong format. Use one of these formats instead: %s&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t545' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t546' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>empty</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t547' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>input_formats</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DATE_INPUT_FORMATS</span><span class='strut'>&nbsp;</span></p>
-<p id='t548' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DATE_FORMAT</span><span class='strut'>&nbsp;</span></p>
-<p id='t549' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t550' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>input_formats</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t551' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>input_formats</span> <span class='op'>=</span> <span class='nam'>input_formats</span> <span class='key'>if</span> <span class='nam'>input_formats</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>else</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>input_formats</span><span class='strut'>&nbsp;</span></p>
-<p id='t552' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>format</span> <span class='key'>if</span> <span class='nam'>format</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>else</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span><span class='strut'>&nbsp;</span></p>
-<p id='t553' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>DateField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t554' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t555' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t556' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='nam'>validators</span><span class='op'>.</span><span class='nam'>EMPTY_VALUES</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t557' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t558' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t559' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>datetime</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t560' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>timezone</span> <span class='key'>and</span> <span class='nam'>settings</span><span class='op'>.</span><span class='nam'>USE_TZ</span> <span class='key'>and</span> <span class='nam'>timezone</span><span class='op'>.</span><span class='nam'>is_aware</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t561' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Convert aware datetimes to the default time zone</span><span class='strut'>&nbsp;</span></p>
-<p id='t562' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># before casting them to dates (#17742).</span><span class='strut'>&nbsp;</span></p>
-<p id='t563' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>default_timezone</span> <span class='op'>=</span> <span class='nam'>timezone</span><span class='op'>.</span><span class='nam'>get_default_timezone</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t564' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>timezone</span><span class='op'>.</span><span class='nam'>make_naive</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>default_timezone</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t565' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>date</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t566' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>date</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t567' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t568' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t569' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>format</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>input_formats</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t570' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>format</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>==</span> <span class='nam'>ISO_8601</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t571' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t572' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parsed</span> <span class='op'>=</span> <span class='nam'>parse_date</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t573' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>ValueError</span><span class='op'>,</span> <span class='nam'>TypeError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t574' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t575' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t576' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>parsed</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t577' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>parsed</span><span class='strut'>&nbsp;</span></p>
-<p id='t578' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t579' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t580' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parsed</span> <span class='op'>=</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>strptime</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t581' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>ValueError</span><span class='op'>,</span> <span class='nam'>TypeError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t582' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t583' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t584' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>parsed</span><span class='op'>.</span><span class='nam'>date</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t585' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t586' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;invalid&#39;</span><span class='op'>]</span> <span class='op'>%</span> <span class='nam'>readable_date_formats</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>input_formats</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t587' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t588' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t589' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t590' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t591' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t592' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t593' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>datetime</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t594' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>date</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t595' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t596' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>==</span> <span class='nam'>ISO_8601</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t597' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>isoformat</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t598' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>strftime</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t599' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t600' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t601' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>DateTimeField</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t602' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;DateTimeField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t603' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;datetime&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t604' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>widget</span> <span class='op'>=</span> <span class='nam'>widgets</span><span class='op'>.</span><span class='nam'>DateTimeInput</span><span class='strut'>&nbsp;</span></p>
-<p id='t605' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>DateTimeField</span><span class='strut'>&nbsp;</span></p>
-<p id='t606' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t607' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t608' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;Datetime has wrong format. Use one of these formats instead: %s&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t609' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t610' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>empty</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t611' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>input_formats</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DATETIME_INPUT_FORMATS</span><span class='strut'>&nbsp;</span></p>
-<p id='t612' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DATETIME_FORMAT</span><span class='strut'>&nbsp;</span></p>
-<p id='t613' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t614' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>input_formats</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t615' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>input_formats</span> <span class='op'>=</span> <span class='nam'>input_formats</span> <span class='key'>if</span> <span class='nam'>input_formats</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>else</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>input_formats</span><span class='strut'>&nbsp;</span></p>
-<p id='t616' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>format</span> <span class='key'>if</span> <span class='nam'>format</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>else</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span><span class='strut'>&nbsp;</span></p>
-<p id='t617' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>DateTimeField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t618' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t619' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t620' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='nam'>validators</span><span class='op'>.</span><span class='nam'>EMPTY_VALUES</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t621' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t622' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t623' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>datetime</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t624' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t625' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>date</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t626' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>datetime</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>.</span><span class='nam'>year</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>month</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>day</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t627' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>settings</span><span class='op'>.</span><span class='nam'>USE_TZ</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t628' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># For backwards compatibility, interpret naive datetimes in</span><span class='strut'>&nbsp;</span></p>
-<p id='t629' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># local time. This won&#39;t work during DST change, but we can&#39;t</span><span class='strut'>&nbsp;</span></p>
-<p id='t630' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># do much about it, so we let the exceptions percolate up the</span><span class='strut'>&nbsp;</span></p>
-<p id='t631' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># call stack.</span><span class='strut'>&nbsp;</span></p>
-<p id='t632' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='str'>&quot;DateTimeField received a naive datetime (%s)&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t633' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot; while time zone support is active.&quot;</span> <span class='op'>%</span> <span class='nam'>value</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t634' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>RuntimeWarning</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t635' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>default_timezone</span> <span class='op'>=</span> <span class='nam'>timezone</span><span class='op'>.</span><span class='nam'>get_default_timezone</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t636' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>timezone</span><span class='op'>.</span><span class='nam'>make_aware</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>default_timezone</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t637' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t638' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t639' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>format</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>input_formats</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t640' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>format</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>==</span> <span class='nam'>ISO_8601</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t641' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t642' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parsed</span> <span class='op'>=</span> <span class='nam'>parse_datetime</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t643' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>ValueError</span><span class='op'>,</span> <span class='nam'>TypeError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t644' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t645' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t646' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>parsed</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t647' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>parsed</span><span class='strut'>&nbsp;</span></p>
-<p id='t648' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t649' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t650' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parsed</span> <span class='op'>=</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>strptime</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t651' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>ValueError</span><span class='op'>,</span> <span class='nam'>TypeError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t652' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t653' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t654' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>parsed</span><span class='strut'>&nbsp;</span></p>
-<p id='t655' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t656' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;invalid&#39;</span><span class='op'>]</span> <span class='op'>%</span> <span class='nam'>readable_datetime_formats</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>input_formats</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t657' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t658' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t659' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t660' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t661' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t662' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t663' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>==</span> <span class='nam'>ISO_8601</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t664' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>isoformat</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t665' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>endswith</span><span class='op'>(</span><span class='str'>&#39;+00:00&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t666' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>ret</span><span class='op'>[</span><span class='op'>:</span><span class='op'>-</span><span class='num'>6</span><span class='op'>]</span> <span class='op'>+</span> <span class='str'>&#39;Z&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t667' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t668' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>strftime</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t669' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t670' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t671' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>TimeField</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t672' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;TimeField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t673' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;time&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t674' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>widget</span> <span class='op'>=</span> <span class='nam'>widgets</span><span class='op'>.</span><span class='nam'>TimeInput</span><span class='strut'>&nbsp;</span></p>
-<p id='t675' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>TimeField</span><span class='strut'>&nbsp;</span></p>
-<p id='t676' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t677' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t678' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;Time has wrong format. Use one of these formats instead: %s&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t679' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t680' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>empty</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t681' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>input_formats</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>TIME_INPUT_FORMATS</span><span class='strut'>&nbsp;</span></p>
-<p id='t682' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>TIME_FORMAT</span><span class='strut'>&nbsp;</span></p>
-<p id='t683' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t684' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>input_formats</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t685' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>input_formats</span> <span class='op'>=</span> <span class='nam'>input_formats</span> <span class='key'>if</span> <span class='nam'>input_formats</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>else</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>input_formats</span><span class='strut'>&nbsp;</span></p>
-<p id='t686' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>format</span> <span class='key'>if</span> <span class='nam'>format</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>else</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span><span class='strut'>&nbsp;</span></p>
-<p id='t687' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>TimeField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t688' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t689' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t690' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='nam'>validators</span><span class='op'>.</span><span class='nam'>EMPTY_VALUES</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t691' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t692' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t693' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>time</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t694' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t695' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t696' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>format</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>input_formats</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t697' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>format</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>==</span> <span class='nam'>ISO_8601</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t698' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t699' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parsed</span> <span class='op'>=</span> <span class='nam'>parse_time</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t700' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>ValueError</span><span class='op'>,</span> <span class='nam'>TypeError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t701' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t702' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t703' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>parsed</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t704' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>parsed</span><span class='strut'>&nbsp;</span></p>
-<p id='t705' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t706' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t707' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parsed</span> <span class='op'>=</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>strptime</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t708' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>ValueError</span><span class='op'>,</span> <span class='nam'>TypeError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t709' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t710' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t711' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>parsed</span><span class='op'>.</span><span class='nam'>time</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t712' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t713' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;invalid&#39;</span><span class='op'>]</span> <span class='op'>%</span> <span class='nam'>readable_time_formats</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>input_formats</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t714' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t715' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t716' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t717' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t718' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t719' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t720' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>datetime</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t721' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>time</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t722' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t723' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>==</span> <span class='nam'>ISO_8601</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t724' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>isoformat</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t725' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>strftime</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t726' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t727' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t728' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>IntegerField</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t729' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;IntegerField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t730' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;integer&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t731' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>IntegerField</span><span class='strut'>&nbsp;</span></p>
-<p id='t732' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t733' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t734' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Enter a whole number.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t735' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;max_value&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Ensure this value is less than or equal to %(limit_value)s.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t736' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;min_value&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Ensure this value is greater than or equal to %(limit_value)s.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t737' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t738' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t739' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>max_value</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>min_value</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t740' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_value</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>min_value</span> <span class='op'>=</span> <span class='nam'>max_value</span><span class='op'>,</span> <span class='nam'>min_value</span><span class='strut'>&nbsp;</span></p>
-<p id='t741' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>IntegerField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t742' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t743' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>max_value</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t744' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>MaxValueValidator</span><span class='op'>(</span><span class='nam'>max_value</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t745' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>min_value</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t746' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>MinValueValidator</span><span class='op'>(</span><span class='nam'>min_value</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t747' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t748' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t749' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='nam'>validators</span><span class='op'>.</span><span class='nam'>EMPTY_VALUES</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t750' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t751' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t752' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t753' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>int</span><span class='op'>(</span><span class='nam'>str</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t754' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>ValueError</span><span class='op'>,</span> <span class='nam'>TypeError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t755' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;invalid&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t756' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t757' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t758' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t759' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>FloatField</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t760' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;FloatField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t761' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;float&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t762' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>FloatField</span><span class='strut'>&nbsp;</span></p>
-<p id='t763' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t764' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t765' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;&#39;%s&#39; value must be a float.&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t766' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t767' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t768' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t769' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='nam'>validators</span><span class='op'>.</span><span class='nam'>EMPTY_VALUES</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t770' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t771' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t772' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t773' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>float</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t774' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>TypeError</span><span class='op'>,</span> <span class='nam'>ValueError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t775' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;invalid&#39;</span><span class='op'>]</span> <span class='op'>%</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t776' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t777' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t778' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t779' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>DecimalField</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t780' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;DecimalField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t781' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;decimal&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t782' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>DecimalField</span><span class='strut'>&nbsp;</span></p>
-<p id='t783' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t784' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t785' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Enter a number.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t786' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;max_value&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Ensure this value is less than or equal to %(limit_value)s.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t787' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;min_value&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Ensure this value is greater than or equal to %(limit_value)s.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t788' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;max_digits&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Ensure that there are no more than %s digits in total.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t789' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;max_decimal_places&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Ensure that there are no more than %s decimal places.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t790' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;max_whole_digits&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Ensure that there are no more than %s digits before the decimal point.&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t791' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t792' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t793' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>max_value</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>min_value</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>max_digits</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>decimal_places</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t794' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_value</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>min_value</span> <span class='op'>=</span> <span class='nam'>max_value</span><span class='op'>,</span> <span class='nam'>min_value</span><span class='strut'>&nbsp;</span></p>
-<p id='t795' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_digits</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>decimal_places</span> <span class='op'>=</span> <span class='nam'>max_digits</span><span class='op'>,</span> <span class='nam'>decimal_places</span><span class='strut'>&nbsp;</span></p>
-<p id='t796' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>DecimalField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t797' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t798' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>max_value</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t799' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>MaxValueValidator</span><span class='op'>(</span><span class='nam'>max_value</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t800' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>min_value</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t801' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>validators</span><span class='op'>.</span><span class='nam'>MinValueValidator</span><span class='op'>(</span><span class='nam'>min_value</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t802' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t803' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t804' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t805' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Validates that the input is a decimal number. Returns a Decimal</span><span class='strut'>&nbsp;</span></p>
-<p id='t806' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; instance. Returns None for empty values. Ensures that there are no more</span><span class='strut'>&nbsp;</span></p>
-<p id='t807' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; than max_digits in the number, and no more than decimal_places digits</span><span class='strut'>&nbsp;</span></p>
-<p id='t808' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; after the decimal point.</span><span class='strut'>&nbsp;</span></p>
-<p id='t809' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t810' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='nam'>validators</span><span class='op'>.</span><span class='nam'>EMPTY_VALUES</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t811' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t812' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>smart_text</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>strip</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t813' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t814' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>Decimal</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t815' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>DecimalException</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t816' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;invalid&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t817' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t818' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t819' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>validate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t820' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>DecimalField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>validate</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t821' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='nam'>validators</span><span class='op'>.</span><span class='nam'>EMPTY_VALUES</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t822' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t823' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Check for NaN, Inf and -Inf values. We can&#39;t compare directly for NaN,</span><span class='strut'>&nbsp;</span></p>
-<p id='t824' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># since it is never equal to itself. However, NaN is the only value that</span><span class='strut'>&nbsp;</span></p>
-<p id='t825' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># isn&#39;t equal to itself, so we can use this to identify NaN</span><span class='strut'>&nbsp;</span></p>
-<p id='t826' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='op'>!=</span> <span class='nam'>value</span> <span class='key'>or</span> <span class='nam'>value</span> <span class='op'>==</span> <span class='nam'>Decimal</span><span class='op'>(</span><span class='str'>&quot;Inf&quot;</span><span class='op'>)</span> <span class='key'>or</span> <span class='nam'>value</span> <span class='op'>==</span> <span class='nam'>Decimal</span><span class='op'>(</span><span class='str'>&quot;-Inf&quot;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t827' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;invalid&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t828' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>sign</span><span class='op'>,</span> <span class='nam'>digittuple</span><span class='op'>,</span> <span class='nam'>exponent</span> <span class='op'>=</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>as_tuple</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t829' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>decimals</span> <span class='op'>=</span> <span class='nam'>abs</span><span class='op'>(</span><span class='nam'>exponent</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t830' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># digittuple doesn&#39;t include any leading zeros.</span><span class='strut'>&nbsp;</span></p>
-<p id='t831' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>digits</span> <span class='op'>=</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>digittuple</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t832' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>decimals</span> <span class='op'>&gt;</span> <span class='nam'>digits</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t833' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We have leading zeros up to or past the decimal point.&nbsp; Count</span><span class='strut'>&nbsp;</span></p>
-<p id='t834' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># everything past the decimal point as a digit.&nbsp; We do not count</span><span class='strut'>&nbsp;</span></p>
-<p id='t835' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># 0 before the decimal point as a digit since that would mean</span><span class='strut'>&nbsp;</span></p>
-<p id='t836' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># we would not allow max_digits = decimal_places.</span><span class='strut'>&nbsp;</span></p>
-<p id='t837' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>digits</span> <span class='op'>=</span> <span class='nam'>decimals</span><span class='strut'>&nbsp;</span></p>
-<p id='t838' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>whole_digits</span> <span class='op'>=</span> <span class='nam'>digits</span> <span class='op'>-</span> <span class='nam'>decimals</span><span class='strut'>&nbsp;</span></p>
-<p id='t839' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t840' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_digits</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>digits</span> <span class='op'>&gt;</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_digits</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t841' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;max_digits&#39;</span><span class='op'>]</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_digits</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t842' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>decimal_places</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>decimals</span> <span class='op'>&gt;</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>decimal_places</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t843' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;max_decimal_places&#39;</span><span class='op'>]</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>decimal_places</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t844' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_digits</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>decimal_places</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>whole_digits</span> <span class='op'>&gt;</span> <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_digits</span> <span class='op'>-</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>decimal_places</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t845' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;max_whole_digits&#39;</span><span class='op'>]</span> <span class='op'>%</span> <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_digits</span> <span class='op'>-</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>decimal_places</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t846' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t847' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t848' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t849' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>FileField</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t850' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>use_files</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t851' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;FileField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t852' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;file upload&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t853' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>FileField</span><span class='strut'>&nbsp;</span></p>
-<p id='t854' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>widget</span> <span class='op'>=</span> <span class='nam'>widgets</span><span class='op'>.</span><span class='nam'>FileInput</span><span class='strut'>&nbsp;</span></p>
-<p id='t855' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t856' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t857' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;No file was submitted. Check the encoding type on the form.&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t858' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;missing&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;No file was submitted.&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t859' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;empty&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;The submitted file is empty.&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t860' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;max_length&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Ensure this filename has at most %(max)d characters (it has %(length)d).&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t861' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;contradiction&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Please either submit a file or check the clear checkbox, not both.&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t862' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t863' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t864' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t865' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_length</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;max_length&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t866' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>allow_empty_file</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;allow_empty_file&#39;</span><span class='op'>,</span> <span class='nam'>False</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t867' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>FileField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t868' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t869' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t870' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>data</span> <span class='key'>in</span> <span class='nam'>validators</span><span class='op'>.</span><span class='nam'>EMPTY_VALUES</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t871' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t872' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t873' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># UploadedFile objects should have name and size attributes.</span><span class='strut'>&nbsp;</span></p>
-<p id='t874' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t875' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file_name</span> <span class='op'>=</span> <span class='nam'>data</span><span class='op'>.</span><span class='nam'>name</span><span class='strut'>&nbsp;</span></p>
-<p id='t876' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file_size</span> <span class='op'>=</span> <span class='nam'>data</span><span class='op'>.</span><span class='nam'>size</span><span class='strut'>&nbsp;</span></p>
-<p id='t877' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>AttributeError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t878' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;invalid&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t879' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t880' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_length</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>file_name</span><span class='op'>)</span> <span class='op'>&gt;</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_length</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t881' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>error_values</span> <span class='op'>=</span> <span class='op'>{</span><span class='str'>&#39;max&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>max_length</span><span class='op'>,</span> <span class='str'>&#39;length&#39;</span><span class='op'>:</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>file_name</span><span class='op'>)</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t882' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;max_length&#39;</span><span class='op'>]</span> <span class='op'>%</span> <span class='nam'>error_values</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t883' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>file_name</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t884' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;invalid&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t885' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>allow_empty_file</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>file_size</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t886' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;empty&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t887' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t888' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>data</span><span class='strut'>&nbsp;</span></p>
-<p id='t889' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t890' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t891' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>name</span><span class='strut'>&nbsp;</span></p>
-<p id='t892' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t893' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t894' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ImageField</span><span class='op'>(</span><span class='nam'>FileField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t895' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>use_files</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t896' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_name</span> <span class='op'>=</span> <span class='str'>&#39;ImageField&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t897' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>type_label</span> <span class='op'>=</span> <span class='str'>&#39;image upload&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t898' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>ImageField</span><span class='strut'>&nbsp;</span></p>
-<p id='t899' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t900' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t901' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid_image&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;Upload a valid image. The file you uploaded was &quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t902' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&quot;either not an image or a corrupted image.&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t903' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t904' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t905' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t906' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t907' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Checks that the file-upload field data contains a valid image (GIF, JPG,</span><span class='strut'>&nbsp;</span></p>
-<p id='t908' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; PNG, possibly others -- whatever the Python Imaging Library supports).</span><span class='strut'>&nbsp;</span></p>
-<p id='t909' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t910' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>ImageField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t911' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>f</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t912' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t913' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t914' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>from</span> <span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>Image</span><span class='strut'>&nbsp;</span></p>
-<p id='t915' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>Image</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>,</span> <span class='str'>&#39;PIL must be installed for ImageField support&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t916' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t917' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We need to get a file object for PIL. We might have a path or we might</span><span class='strut'>&nbsp;</span></p>
-<p id='t918' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># have to read the data into memory.</span><span class='strut'>&nbsp;</span></p>
-<p id='t919' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='str'>&#39;temporary_file_path&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t920' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file</span> <span class='op'>=</span> <span class='nam'>data</span><span class='op'>.</span><span class='nam'>temporary_file_path</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t921' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t922' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='str'>&#39;read&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t923' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file</span> <span class='op'>=</span> <span class='nam'>BytesIO</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t924' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t925' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file</span> <span class='op'>=</span> <span class='nam'>BytesIO</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>[</span><span class='str'>&#39;content&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t926' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t927' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t928' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># load() could spot a truncated JPEG, but it loads the entire</span><span class='strut'>&nbsp;</span></p>
-<p id='t929' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># image in memory, which is a DoS vector. See #3848 and #18520.</span><span class='strut'>&nbsp;</span></p>
-<p id='t930' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># verify() must be called immediately after the constructor.</span><span class='strut'>&nbsp;</span></p>
-<p id='t931' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>Image</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='nam'>file</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>verify</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t932' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ImportError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t933' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Under PyPy, it is possible to import PIL. However, the underlying</span><span class='strut'>&nbsp;</span></p>
-<p id='t934' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># _imaging C module isn&#39;t available, so an ImportError will be</span><span class='strut'>&nbsp;</span></p>
-<p id='t935' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># raised. Catch and re-raise.</span><span class='strut'>&nbsp;</span></p>
-<p id='t936' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span><span class='strut'>&nbsp;</span></p>
-<p id='t937' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>Exception</span><span class='op'>:</span>&nbsp; <span class='com'># Python Imaging Library doesn&#39;t recognize it as an image</span><span class='strut'>&nbsp;</span></p>
-<p id='t938' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;invalid_image&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t939' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>f</span><span class='op'>,</span> <span class='str'>&#39;seek&#39;</span><span class='op'>)</span> <span class='key'>and</span> <span class='nam'>callable</span><span class='op'>(</span><span class='nam'>f</span><span class='op'>.</span><span class='nam'>seek</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t940' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>seek</span><span class='op'>(</span><span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t941' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>f</span><span class='strut'>&nbsp;</span></p>
-<p id='t942' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t943' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t944' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>SerializerMethodField</span><span class='op'>(</span><span class='nam'>Field</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t945' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t946' class='pln'><span class='str'>&nbsp; &nbsp; A field that gets its value by calling a method on the serializer it&#39;s attached to.</span><span class='strut'>&nbsp;</span></p>
-<p id='t947' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t948' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t949' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>method_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t950' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>method_name</span> <span class='op'>=</span> <span class='nam'>method_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t951' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>SerializerMethodField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t952' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t953' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>field_to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t954' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>parent</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>method_name</span><span class='op'>)</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t955' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_filters.html b/htmlcov/rest_framework_filters.html
deleted file mode 100644
index 28b6eaae..00000000
--- a/htmlcov/rest_framework_filters.html
+++ /dev/null
@@ -1,367 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/filters: 92%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/filters</b> :
- <span class='pc_cov'>92%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 77 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>71 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>6 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='stm run hide_run'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='stm mis'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='stm run hide_run'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='stm run hide_run'><a href='#n32'>32</a></p>
-<p id='n33' class='stm run hide_run'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='stm run hide_run'><a href='#n39'>39</a></p>
-<p id='n40' class='stm run hide_run'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='stm run hide_run'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='stm run hide_run'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='stm run hide_run'><a href='#n55'>55</a></p>
-<p id='n56' class='stm run hide_run'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='stm mis'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='stm run hide_run'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='stm run hide_run'><a href='#n64'>64</a></p>
-<p id='n65' class='pln'><a href='#n65'>65</a></p>
-<p id='n66' class='stm mis'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='pln'><a href='#n68'>68</a></p>
-<p id='n69' class='stm run hide_run'><a href='#n69'>69</a></p>
-<p id='n70' class='stm run hide_run'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='stm run hide_run'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='stm run hide_run'><a href='#n77'>77</a></p>
-<p id='n78' class='stm run hide_run'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='stm run hide_run'><a href='#n80'>80</a></p>
-<p id='n81' class='stm run hide_run'><a href='#n81'>81</a></p>
-<p id='n82' class='stm run hide_run'><a href='#n82'>82</a></p>
-<p id='n83' class='stm run hide_run'><a href='#n83'>83</a></p>
-<p id='n84' class='stm run hide_run'><a href='#n84'>84</a></p>
-<p id='n85' class='stm run hide_run'><a href='#n85'>85</a></p>
-<p id='n86' class='stm mis'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='stm run hide_run'><a href='#n88'>88</a></p>
-<p id='n89' class='pln'><a href='#n89'>89</a></p>
-<p id='n90' class='stm run hide_run'><a href='#n90'>90</a></p>
-<p id='n91' class='stm run hide_run'><a href='#n91'>91</a></p>
-<p id='n92' class='pln'><a href='#n92'>92</a></p>
-<p id='n93' class='stm run hide_run'><a href='#n93'>93</a></p>
-<p id='n94' class='stm mis'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='stm run hide_run'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='stm run hide_run'><a href='#n99'>99</a></p>
-<p id='n100' class='stm run hide_run'><a href='#n100'>100</a></p>
-<p id='n101' class='pln'><a href='#n101'>101</a></p>
-<p id='n102' class='stm run hide_run'><a href='#n102'>102</a></p>
-<p id='n103' class='pln'><a href='#n103'>103</a></p>
-<p id='n104' class='stm run hide_run'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='pln'><a href='#n106'>106</a></p>
-<p id='n107' class='stm run hide_run'><a href='#n107'>107</a></p>
-<p id='n108' class='stm run hide_run'><a href='#n108'>108</a></p>
-<p id='n109' class='pln'><a href='#n109'>109</a></p>
-<p id='n110' class='stm run hide_run'><a href='#n110'>110</a></p>
-<p id='n111' class='pln'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='pln'><a href='#n114'>114</a></p>
-<p id='n115' class='stm run hide_run'><a href='#n115'>115</a></p>
-<p id='n116' class='stm run hide_run'><a href='#n116'>116</a></p>
-<p id='n117' class='stm run hide_run'><a href='#n117'>117</a></p>
-<p id='n118' class='pln'><a href='#n118'>118</a></p>
-<p id='n119' class='stm run hide_run'><a href='#n119'>119</a></p>
-<p id='n120' class='stm run hide_run'><a href='#n120'>120</a></p>
-<p id='n121' class='stm run hide_run'><a href='#n121'>121</a></p>
-<p id='n122' class='stm run hide_run'><a href='#n122'>122</a></p>
-<p id='n123' class='stm run hide_run'><a href='#n123'>123</a></p>
-<p id='n124' class='pln'><a href='#n124'>124</a></p>
-<p id='n125' class='stm run hide_run'><a href='#n125'>125</a></p>
-<p id='n126' class='stm run hide_run'><a href='#n126'>126</a></p>
-<p id='n127' class='stm run hide_run'><a href='#n127'>127</a></p>
-<p id='n128' class='pln'><a href='#n128'>128</a></p>
-<p id='n129' class='stm run hide_run'><a href='#n129'>129</a></p>
-<p id='n130' class='stm run hide_run'><a href='#n130'>130</a></p>
-<p id='n131' class='pln'><a href='#n131'>131</a></p>
-<p id='n132' class='stm run hide_run'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='stm run hide_run'><a href='#n134'>134</a></p>
-<p id='n135' class='pln'><a href='#n135'>135</a></p>
-<p id='n136' class='stm run hide_run'><a href='#n136'>136</a></p>
-<p id='n137' class='pln'><a href='#n137'>137</a></p>
-<p id='n138' class='stm run hide_run'><a href='#n138'>138</a></p>
-<p id='n139' class='pln'><a href='#n139'>139</a></p>
-<p id='n140' class='stm run hide_run'><a href='#n140'>140</a></p>
-<p id='n141' class='stm run hide_run'><a href='#n141'>141</a></p>
-<p id='n142' class='pln'><a href='#n142'>142</a></p>
-<p id='n143' class='stm mis'><a href='#n143'>143</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Provides generic filtering backends that can be used to filter the results</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>returned by list views.</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>db</span> <span class='key'>import</span> <span class='nam'>models</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>django_filters</span><span class='op'>,</span> <span class='nam'>six</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>functools</span> <span class='key'>import</span> <span class='nam'>reduce</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>operator</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='nam'>FilterSet</span> <span class='op'>=</span> <span class='nam'>django_filters</span> <span class='key'>and</span> <span class='nam'>django_filters</span><span class='op'>.</span><span class='nam'>FilterSet</span> <span class='key'>or</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BaseFilterBackend</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='str'>&nbsp; &nbsp; A base class from which all filter backend classes should inherit.</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>filter_queryset</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return a filtered queryset.</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>NotImplementedError</span><span class='op'>(</span><span class='str'>&quot;.filter_queryset() must be overridden.&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>DjangoFilterBackend</span><span class='op'>(</span><span class='nam'>BaseFilterBackend</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='str'>&nbsp; &nbsp; A filter backend that uses django-filter.</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_filter_set</span> <span class='op'>=</span> <span class='nam'>FilterSet</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>django_filters</span><span class='op'>,</span> <span class='str'>&#39;Using DjangoFilterBackend, but django-filter is not installed&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_filter_class</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return the django-filters `FilterSet` used to filter the queryset.</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filter_class</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;filter_class&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filter_fields</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;filter_fields&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>filter_class</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filter_model</span> <span class='op'>=</span> <span class='nam'>filter_class</span><span class='op'>.</span><span class='nam'>Meta</span><span class='op'>.</span><span class='nam'>model</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>issubclass</span><span class='op'>(</span><span class='nam'>filter_model</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>.</span><span class='nam'>model</span><span class='op'>)</span><span class='op'>,</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;FilterSet model %s does not match queryset model %s&#39;</span> <span class='op'>%</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>(</span><span class='nam'>filter_model</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>.</span><span class='nam'>model</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>filter_class</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>filter_fields</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>AutoFilterSet</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_filter_set</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>Meta</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>model</span> <span class='op'>=</span> <span class='nam'>queryset</span><span class='op'>.</span><span class='nam'>model</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fields</span> <span class='op'>=</span> <span class='nam'>filter_fields</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>AutoFilterSet</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>filter_queryset</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filter_class</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_filter_class</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>filter_class</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>filter_class</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>QUERY_PARAMS</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>=</span><span class='nam'>queryset</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>qs</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>queryset</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>SearchFilter</span><span class='op'>(</span><span class='nam'>BaseFilterBackend</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>search_param</span> <span class='op'>=</span> <span class='str'>&#39;search&#39;</span>&nbsp; <span class='com'># The URL query parameter used for the search.</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_search_terms</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Search terms are set by a ?search=... query parameter,</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; and may be comma and/or whitespace delimited.</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>params</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>QUERY_PARAMS</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>search_param</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>params</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>&#39;,&#39;</span><span class='op'>,</span> <span class='str'>&#39; &#39;</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>construct_search</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>field_name</span><span class='op'>.</span><span class='nam'>startswith</span><span class='op'>(</span><span class='str'>&#39;^&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&quot;%s__istartswith&quot;</span> <span class='op'>%</span> <span class='nam'>field_name</span><span class='op'>[</span><span class='num'>1</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>field_name</span><span class='op'>.</span><span class='nam'>startswith</span><span class='op'>(</span><span class='str'>&#39;=&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&quot;%s__iexact&quot;</span> <span class='op'>%</span> <span class='nam'>field_name</span><span class='op'>[</span><span class='num'>1</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>field_name</span><span class='op'>.</span><span class='nam'>startswith</span><span class='op'>(</span><span class='str'>&#39;@&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&quot;%s__search&quot;</span> <span class='op'>%</span> <span class='nam'>field_name</span><span class='op'>[</span><span class='num'>1</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&quot;%s__icontains&quot;</span> <span class='op'>%</span> <span class='nam'>field_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>filter_queryset</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>search_fields</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;search_fields&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>search_fields</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>queryset</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>orm_lookups</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>construct_search</span><span class='op'>(</span><span class='nam'>str</span><span class='op'>(</span><span class='nam'>search_field</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='key'>for</span> <span class='nam'>search_field</span> <span class='key'>in</span> <span class='nam'>search_fields</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>search_term</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_search_terms</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>or_queries</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>models</span><span class='op'>.</span><span class='nam'>Q</span><span class='op'>(</span><span class='op'>**</span><span class='op'>{</span><span class='nam'>orm_lookup</span><span class='op'>:</span> <span class='nam'>search_term</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>orm_lookup</span> <span class='key'>in</span> <span class='nam'>orm_lookups</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>queryset</span><span class='op'>.</span><span class='nam'>filter</span><span class='op'>(</span><span class='nam'>reduce</span><span class='op'>(</span><span class='nam'>operator</span><span class='op'>.</span><span class='nam'>or_</span><span class='op'>,</span> <span class='nam'>or_queries</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>queryset</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>OrderingFilter</span><span class='op'>(</span><span class='nam'>BaseFilterBackend</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ordering_param</span> <span class='op'>=</span> <span class='str'>&#39;ordering&#39;</span>&nbsp; <span class='com'># The URL query parameter used for the ordering.</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_ordering</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Search terms are set by a ?search=... query parameter,</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; and may be comma and/or whitespace delimited.</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>params</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>QUERY_PARAMS</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>ordering_param</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>params</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>param</span><span class='op'>.</span><span class='nam'>strip</span><span class='op'>(</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>param</span> <span class='key'>in</span> <span class='nam'>params</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='str'>&#39;,&#39;</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_default_ordering</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ordering</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;ordering&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>ordering</span><span class='op'>,</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>string_types</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>ordering</span><span class='op'>,</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ordering</span><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>remove_invalid_fields</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>,</span> <span class='nam'>ordering</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field_names</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>field</span><span class='op'>.</span><span class='nam'>name</span> <span class='key'>for</span> <span class='nam'>field</span> <span class='key'>in</span> <span class='nam'>queryset</span><span class='op'>.</span><span class='nam'>model</span><span class='op'>.</span><span class='nam'>_meta</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>term</span> <span class='key'>for</span> <span class='nam'>term</span> <span class='key'>in</span> <span class='nam'>ordering</span> <span class='key'>if</span> <span class='nam'>term</span><span class='op'>.</span><span class='nam'>lstrip</span><span class='op'>(</span><span class='str'>&#39;-&#39;</span><span class='op'>)</span> <span class='key'>in</span> <span class='nam'>field_names</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>filter_queryset</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ordering</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_ordering</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>ordering</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Skip any incorrect parameters</span><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ordering</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>remove_invalid_fields</span><span class='op'>(</span><span class='nam'>queryset</span><span class='op'>,</span> <span class='nam'>ordering</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>ordering</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Use &#39;ordering&#39; attribtue by default</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ordering</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_default_ordering</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>ordering</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>queryset</span><span class='op'>.</span><span class='nam'>order_by</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>ordering</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>queryset</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_generics.html b/htmlcov/rest_framework_generics.html
deleted file mode 100644
index 5f5851cb..00000000
--- a/htmlcov/rest_framework_generics.html
+++ /dev/null
@@ -1,1079 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/generics: 83%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/generics</b> :
- <span class='pc_cov'>83%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 196 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>162 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>34 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='stm run hide_run'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='stm run hide_run'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='stm run hide_run'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='stm run hide_run'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='stm run hide_run'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='stm run hide_run'><a href='#n49'>49</a></p>
-<p id='n50' class='stm run hide_run'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='stm run hide_run'><a href='#n58'>58</a></p>
-<p id='n59' class='stm run hide_run'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='pln'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='pln'><a href='#n63'>63</a></p>
-<p id='n64' class='stm run hide_run'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='stm run hide_run'><a href='#n66'>66</a></p>
-<p id='n67' class='stm run hide_run'><a href='#n67'>67</a></p>
-<p id='n68' class='stm run hide_run'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='stm run hide_run'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='stm run hide_run'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='pln'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='stm run hide_run'><a href='#n80'>80</a></p>
-<p id='n81' class='pln'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='pln'><a href='#n85'>85</a></p>
-<p id='n86' class='stm run hide_run'><a href='#n86'>86</a></p>
-<p id='n87' class='stm run hide_run'><a href='#n87'>87</a></p>
-<p id='n88' class='stm run hide_run'><a href='#n88'>88</a></p>
-<p id='n89' class='pln'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='stm run hide_run'><a href='#n91'>91</a></p>
-<p id='n92' class='pln'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='pln'><a href='#n94'>94</a></p>
-<p id='n95' class='stm run hide_run'><a href='#n95'>95</a></p>
-<p id='n96' class='stm run hide_run'><a href='#n96'>96</a></p>
-<p id='n97' class='stm run hide_run'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='stm run hide_run'><a href='#n99'>99</a></p>
-<p id='n100' class='stm run hide_run'><a href='#n100'>100</a></p>
-<p id='n101' class='stm run hide_run'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='stm run hide_run'><a href='#n103'>103</a></p>
-<p id='n104' class='pln'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='pln'><a href='#n106'>106</a></p>
-<p id='n107' class='pln'><a href='#n107'>107</a></p>
-<p id='n108' class='stm run hide_run'><a href='#n108'>108</a></p>
-<p id='n109' class='stm run hide_run'><a href='#n109'>109</a></p>
-<p id='n110' class='stm mis'><a href='#n110'>110</a></p>
-<p id='n111' class='pln'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='pln'><a href='#n114'>114</a></p>
-<p id='n115' class='pln'><a href='#n115'>115</a></p>
-<p id='n116' class='stm mis'><a href='#n116'>116</a></p>
-<p id='n117' class='pln'><a href='#n117'>117</a></p>
-<p id='n118' class='pln'><a href='#n118'>118</a></p>
-<p id='n119' class='pln'><a href='#n119'>119</a></p>
-<p id='n120' class='stm run hide_run'><a href='#n120'>120</a></p>
-<p id='n121' class='stm run hide_run'><a href='#n121'>121</a></p>
-<p id='n122' class='stm run hide_run'><a href='#n122'>122</a></p>
-<p id='n123' class='pln'><a href='#n123'>123</a></p>
-<p id='n124' class='stm run hide_run'><a href='#n124'>124</a></p>
-<p id='n125' class='stm mis'><a href='#n125'>125</a></p>
-<p id='n126' class='pln'><a href='#n126'>126</a></p>
-<p id='n127' class='pln'><a href='#n127'>127</a></p>
-<p id='n128' class='pln'><a href='#n128'>128</a></p>
-<p id='n129' class='pln'><a href='#n129'>129</a></p>
-<p id='n130' class='pln'><a href='#n130'>130</a></p>
-<p id='n131' class='pln'><a href='#n131'>131</a></p>
-<p id='n132' class='stm run hide_run'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='stm run hide_run'><a href='#n134'>134</a></p>
-<p id='n135' class='stm run hide_run'><a href='#n135'>135</a></p>
-<p id='n136' class='stm run hide_run'><a href='#n136'>136</a></p>
-<p id='n137' class='stm run hide_run'><a href='#n137'>137</a></p>
-<p id='n138' class='stm run hide_run'><a href='#n138'>138</a></p>
-<p id='n139' class='stm mis'><a href='#n139'>139</a></p>
-<p id='n140' class='stm mis'><a href='#n140'>140</a></p>
-<p id='n141' class='stm mis'><a href='#n141'>141</a></p>
-<p id='n142' class='pln'><a href='#n142'>142</a></p>
-<p id='n143' class='stm mis'><a href='#n143'>143</a></p>
-<p id='n144' class='stm run hide_run'><a href='#n144'>144</a></p>
-<p id='n145' class='stm run hide_run'><a href='#n145'>145</a></p>
-<p id='n146' class='stm mis'><a href='#n146'>146</a></p>
-<p id='n147' class='stm mis'><a href='#n147'>147</a></p>
-<p id='n148' class='pln'><a href='#n148'>148</a></p>
-<p id='n149' class='pln'><a href='#n149'>149</a></p>
-<p id='n150' class='pln'><a href='#n150'>150</a></p>
-<p id='n151' class='pln'><a href='#n151'>151</a></p>
-<p id='n152' class='stm run hide_run'><a href='#n152'>152</a></p>
-<p id='n153' class='stm mis'><a href='#n153'>153</a></p>
-<p id='n154' class='stm run hide_run'><a href='#n154'>154</a></p>
-<p id='n155' class='pln'><a href='#n155'>155</a></p>
-<p id='n156' class='stm run hide_run'><a href='#n156'>156</a></p>
-<p id='n157' class='pln'><a href='#n157'>157</a></p>
-<p id='n158' class='pln'><a href='#n158'>158</a></p>
-<p id='n159' class='pln'><a href='#n159'>159</a></p>
-<p id='n160' class='pln'><a href='#n160'>160</a></p>
-<p id='n161' class='pln'><a href='#n161'>161</a></p>
-<p id='n162' class='pln'><a href='#n162'>162</a></p>
-<p id='n163' class='pln'><a href='#n163'>163</a></p>
-<p id='n164' class='pln'><a href='#n164'>164</a></p>
-<p id='n165' class='stm run hide_run'><a href='#n165'>165</a></p>
-<p id='n166' class='stm run hide_run'><a href='#n166'>166</a></p>
-<p id='n167' class='stm mis'><a href='#n167'>167</a></p>
-<p id='n168' class='pln'><a href='#n168'>168</a></p>
-<p id='n169' class='pln'><a href='#n169'>169</a></p>
-<p id='n170' class='pln'><a href='#n170'>170</a></p>
-<p id='n171' class='pln'><a href='#n171'>171</a></p>
-<p id='n172' class='pln'><a href='#n172'>172</a></p>
-<p id='n173' class='pln'><a href='#n173'>173</a></p>
-<p id='n174' class='stm mis'><a href='#n174'>174</a></p>
-<p id='n175' class='pln'><a href='#n175'>175</a></p>
-<p id='n176' class='stm run hide_run'><a href='#n176'>176</a></p>
-<p id='n177' class='stm run hide_run'><a href='#n177'>177</a></p>
-<p id='n178' class='stm run hide_run'><a href='#n178'>178</a></p>
-<p id='n179' class='pln'><a href='#n179'>179</a></p>
-<p id='n180' class='pln'><a href='#n180'>180</a></p>
-<p id='n181' class='pln'><a href='#n181'>181</a></p>
-<p id='n182' class='pln'><a href='#n182'>182</a></p>
-<p id='n183' class='pln'><a href='#n183'>183</a></p>
-<p id='n184' class='stm run hide_run'><a href='#n184'>184</a></p>
-<p id='n185' class='pln'><a href='#n185'>185</a></p>
-<p id='n186' class='pln'><a href='#n186'>186</a></p>
-<p id='n187' class='pln'><a href='#n187'>187</a></p>
-<p id='n188' class='pln'><a href='#n188'>188</a></p>
-<p id='n189' class='pln'><a href='#n189'>189</a></p>
-<p id='n190' class='pln'><a href='#n190'>190</a></p>
-<p id='n191' class='pln'><a href='#n191'>191</a></p>
-<p id='n192' class='pln'><a href='#n192'>192</a></p>
-<p id='n193' class='stm run hide_run'><a href='#n193'>193</a></p>
-<p id='n194' class='stm mis'><a href='#n194'>194</a></p>
-<p id='n195' class='pln'><a href='#n195'>195</a></p>
-<p id='n196' class='pln'><a href='#n196'>196</a></p>
-<p id='n197' class='pln'><a href='#n197'>197</a></p>
-<p id='n198' class='stm run hide_run'><a href='#n198'>198</a></p>
-<p id='n199' class='stm run hide_run'><a href='#n199'>199</a></p>
-<p id='n200' class='stm run hide_run'><a href='#n200'>200</a></p>
-<p id='n201' class='stm run hide_run'><a href='#n201'>201</a></p>
-<p id='n202' class='stm run hide_run'><a href='#n202'>202</a></p>
-<p id='n203' class='stm run hide_run'><a href='#n203'>203</a></p>
-<p id='n204' class='pln'><a href='#n204'>204</a></p>
-<p id='n205' class='stm run hide_run'><a href='#n205'>205</a></p>
-<p id='n206' class='pln'><a href='#n206'>206</a></p>
-<p id='n207' class='stm run hide_run'><a href='#n207'>207</a></p>
-<p id='n208' class='pln'><a href='#n208'>208</a></p>
-<p id='n209' class='pln'><a href='#n209'>209</a></p>
-<p id='n210' class='pln'><a href='#n210'>210</a></p>
-<p id='n211' class='pln'><a href='#n211'>211</a></p>
-<p id='n212' class='pln'><a href='#n212'>212</a></p>
-<p id='n213' class='pln'><a href='#n213'>213</a></p>
-<p id='n214' class='pln'><a href='#n214'>214</a></p>
-<p id='n215' class='pln'><a href='#n215'>215</a></p>
-<p id='n216' class='pln'><a href='#n216'>216</a></p>
-<p id='n217' class='stm run hide_run'><a href='#n217'>217</a></p>
-<p id='n218' class='stm run hide_run'><a href='#n218'>218</a></p>
-<p id='n219' class='stm run hide_run'><a href='#n219'>219</a></p>
-<p id='n220' class='pln'><a href='#n220'>220</a></p>
-<p id='n221' class='stm run hide_run'><a href='#n221'>221</a></p>
-<p id='n222' class='pln'><a href='#n222'>222</a></p>
-<p id='n223' class='pln'><a href='#n223'>223</a></p>
-<p id='n224' class='pln'><a href='#n224'>224</a></p>
-<p id='n225' class='pln'><a href='#n225'>225</a></p>
-<p id='n226' class='pln'><a href='#n226'>226</a></p>
-<p id='n227' class='stm run hide_run'><a href='#n227'>227</a></p>
-<p id='n228' class='stm run hide_run'><a href='#n228'>228</a></p>
-<p id='n229' class='stm run hide_run'><a href='#n229'>229</a></p>
-<p id='n230' class='stm run hide_run'><a href='#n230'>230</a></p>
-<p id='n231' class='pln'><a href='#n231'>231</a></p>
-<p id='n232' class='stm run hide_run'><a href='#n232'>232</a></p>
-<p id='n233' class='pln'><a href='#n233'>233</a></p>
-<p id='n234' class='pln'><a href='#n234'>234</a></p>
-<p id='n235' class='pln'><a href='#n235'>235</a></p>
-<p id='n236' class='pln'><a href='#n236'>236</a></p>
-<p id='n237' class='pln'><a href='#n237'>237</a></p>
-<p id='n238' class='pln'><a href='#n238'>238</a></p>
-<p id='n239' class='pln'><a href='#n239'>239</a></p>
-<p id='n240' class='pln'><a href='#n240'>240</a></p>
-<p id='n241' class='pln'><a href='#n241'>241</a></p>
-<p id='n242' class='pln'><a href='#n242'>242</a></p>
-<p id='n243' class='stm run hide_run'><a href='#n243'>243</a></p>
-<p id='n244' class='stm run hide_run'><a href='#n244'>244</a></p>
-<p id='n245' class='pln'><a href='#n245'>245</a></p>
-<p id='n246' class='stm run hide_run'><a href='#n246'>246</a></p>
-<p id='n247' class='stm run hide_run'><a href='#n247'>247</a></p>
-<p id='n248' class='pln'><a href='#n248'>248</a></p>
-<p id='n249' class='stm mis'><a href='#n249'>249</a></p>
-<p id='n250' class='pln'><a href='#n250'>250</a></p>
-<p id='n251' class='pln'><a href='#n251'>251</a></p>
-<p id='n252' class='stm run hide_run'><a href='#n252'>252</a></p>
-<p id='n253' class='pln'><a href='#n253'>253</a></p>
-<p id='n254' class='pln'><a href='#n254'>254</a></p>
-<p id='n255' class='pln'><a href='#n255'>255</a></p>
-<p id='n256' class='pln'><a href='#n256'>256</a></p>
-<p id='n257' class='pln'><a href='#n257'>257</a></p>
-<p id='n258' class='pln'><a href='#n258'>258</a></p>
-<p id='n259' class='pln'><a href='#n259'>259</a></p>
-<p id='n260' class='pln'><a href='#n260'>260</a></p>
-<p id='n261' class='stm run hide_run'><a href='#n261'>261</a></p>
-<p id='n262' class='stm run hide_run'><a href='#n262'>262</a></p>
-<p id='n263' class='pln'><a href='#n263'>263</a></p>
-<p id='n264' class='pln'><a href='#n264'>264</a></p>
-<p id='n265' class='pln'><a href='#n265'>265</a></p>
-<p id='n266' class='pln'><a href='#n266'>266</a></p>
-<p id='n267' class='stm run hide_run'><a href='#n267'>267</a></p>
-<p id='n268' class='stm run hide_run'><a href='#n268'>268</a></p>
-<p id='n269' class='stm run hide_run'><a href='#n269'>269</a></p>
-<p id='n270' class='pln'><a href='#n270'>270</a></p>
-<p id='n271' class='stm run hide_run'><a href='#n271'>271</a></p>
-<p id='n272' class='stm run hide_run'><a href='#n272'>272</a></p>
-<p id='n273' class='stm mis'><a href='#n273'>273</a></p>
-<p id='n274' class='stm mis'><a href='#n274'>274</a></p>
-<p id='n275' class='pln'><a href='#n275'>275</a></p>
-<p id='n276' class='pln'><a href='#n276'>276</a></p>
-<p id='n277' class='pln'><a href='#n277'>277</a></p>
-<p id='n278' class='pln'><a href='#n278'>278</a></p>
-<p id='n279' class='stm mis'><a href='#n279'>279</a></p>
-<p id='n280' class='stm mis'><a href='#n280'>280</a></p>
-<p id='n281' class='stm mis'><a href='#n281'>281</a></p>
-<p id='n282' class='pln'><a href='#n282'>282</a></p>
-<p id='n283' class='pln'><a href='#n283'>283</a></p>
-<p id='n284' class='pln'><a href='#n284'>284</a></p>
-<p id='n285' class='pln'><a href='#n285'>285</a></p>
-<p id='n286' class='stm mis'><a href='#n286'>286</a></p>
-<p id='n287' class='pln'><a href='#n287'>287</a></p>
-<p id='n288' class='stm mis'><a href='#n288'>288</a></p>
-<p id='n289' class='pln'><a href='#n289'>289</a></p>
-<p id='n290' class='pln'><a href='#n290'>290</a></p>
-<p id='n291' class='pln'><a href='#n291'>291</a></p>
-<p id='n292' class='pln'><a href='#n292'>292</a></p>
-<p id='n293' class='pln'><a href='#n293'>293</a></p>
-<p id='n294' class='pln'><a href='#n294'>294</a></p>
-<p id='n295' class='stm run hide_run'><a href='#n295'>295</a></p>
-<p id='n296' class='pln'><a href='#n296'>296</a></p>
-<p id='n297' class='pln'><a href='#n297'>297</a></p>
-<p id='n298' class='stm run hide_run'><a href='#n298'>298</a></p>
-<p id='n299' class='pln'><a href='#n299'>299</a></p>
-<p id='n300' class='stm run hide_run'><a href='#n300'>300</a></p>
-<p id='n301' class='pln'><a href='#n301'>301</a></p>
-<p id='n302' class='pln'><a href='#n302'>302</a></p>
-<p id='n303' class='pln'><a href='#n303'>303</a></p>
-<p id='n304' class='pln'><a href='#n304'>304</a></p>
-<p id='n305' class='pln'><a href='#n305'>305</a></p>
-<p id='n306' class='pln'><a href='#n306'>306</a></p>
-<p id='n307' class='pln'><a href='#n307'>307</a></p>
-<p id='n308' class='pln'><a href='#n308'>308</a></p>
-<p id='n309' class='stm run hide_run'><a href='#n309'>309</a></p>
-<p id='n310' class='pln'><a href='#n310'>310</a></p>
-<p id='n311' class='pln'><a href='#n311'>311</a></p>
-<p id='n312' class='pln'><a href='#n312'>312</a></p>
-<p id='n313' class='pln'><a href='#n313'>313</a></p>
-<p id='n314' class='pln'><a href='#n314'>314</a></p>
-<p id='n315' class='pln'><a href='#n315'>315</a></p>
-<p id='n316' class='stm run hide_run'><a href='#n316'>316</a></p>
-<p id='n317' class='pln'><a href='#n317'>317</a></p>
-<p id='n318' class='stm run hide_run'><a href='#n318'>318</a></p>
-<p id='n319' class='pln'><a href='#n319'>319</a></p>
-<p id='n320' class='pln'><a href='#n320'>320</a></p>
-<p id='n321' class='pln'><a href='#n321'>321</a></p>
-<p id='n322' class='stm run hide_run'><a href='#n322'>322</a></p>
-<p id='n323' class='pln'><a href='#n323'>323</a></p>
-<p id='n324' class='stm run hide_run'><a href='#n324'>324</a></p>
-<p id='n325' class='pln'><a href='#n325'>325</a></p>
-<p id='n326' class='pln'><a href='#n326'>326</a></p>
-<p id='n327' class='pln'><a href='#n327'>327</a></p>
-<p id='n328' class='pln'><a href='#n328'>328</a></p>
-<p id='n329' class='pln'><a href='#n329'>329</a></p>
-<p id='n330' class='pln'><a href='#n330'>330</a></p>
-<p id='n331' class='pln'><a href='#n331'>331</a></p>
-<p id='n332' class='stm run hide_run'><a href='#n332'>332</a></p>
-<p id='n333' class='pln'><a href='#n333'>333</a></p>
-<p id='n334' class='stm run hide_run'><a href='#n334'>334</a></p>
-<p id='n335' class='stm run hide_run'><a href='#n335'>335</a></p>
-<p id='n336' class='stm run hide_run'><a href='#n336'>336</a></p>
-<p id='n337' class='stm run hide_run'><a href='#n337'>337</a></p>
-<p id='n338' class='pln'><a href='#n338'>338</a></p>
-<p id='n339' class='stm run hide_run'><a href='#n339'>339</a></p>
-<p id='n340' class='stm run hide_run'><a href='#n340'>340</a></p>
-<p id='n341' class='pln'><a href='#n341'>341</a></p>
-<p id='n342' class='stm run hide_run'><a href='#n342'>342</a></p>
-<p id='n343' class='pln'><a href='#n343'>343</a></p>
-<p id='n344' class='stm run hide_run'><a href='#n344'>344</a></p>
-<p id='n345' class='stm run hide_run'><a href='#n345'>345</a></p>
-<p id='n346' class='stm run hide_run'><a href='#n346'>346</a></p>
-<p id='n347' class='stm run hide_run'><a href='#n347'>347</a></p>
-<p id='n348' class='pln'><a href='#n348'>348</a></p>
-<p id='n349' class='pln'><a href='#n349'>349</a></p>
-<p id='n350' class='pln'><a href='#n350'>350</a></p>
-<p id='n351' class='stm run hide_run'><a href='#n351'>351</a></p>
-<p id='n352' class='stm run hide_run'><a href='#n352'>352</a></p>
-<p id='n353' class='pln'><a href='#n353'>353</a></p>
-<p id='n354' class='stm run hide_run'><a href='#n354'>354</a></p>
-<p id='n355' class='stm run hide_run'><a href='#n355'>355</a></p>
-<p id='n356' class='pln'><a href='#n356'>356</a></p>
-<p id='n357' class='stm run hide_run'><a href='#n357'>357</a></p>
-<p id='n358' class='pln'><a href='#n358'>358</a></p>
-<p id='n359' class='pln'><a href='#n359'>359</a></p>
-<p id='n360' class='pln'><a href='#n360'>360</a></p>
-<p id='n361' class='pln'><a href='#n361'>361</a></p>
-<p id='n362' class='pln'><a href='#n362'>362</a></p>
-<p id='n363' class='pln'><a href='#n363'>363</a></p>
-<p id='n364' class='pln'><a href='#n364'>364</a></p>
-<p id='n365' class='stm run hide_run'><a href='#n365'>365</a></p>
-<p id='n366' class='pln'><a href='#n366'>366</a></p>
-<p id='n367' class='pln'><a href='#n367'>367</a></p>
-<p id='n368' class='pln'><a href='#n368'>368</a></p>
-<p id='n369' class='pln'><a href='#n369'>369</a></p>
-<p id='n370' class='pln'><a href='#n370'>370</a></p>
-<p id='n371' class='stm run hide_run'><a href='#n371'>371</a></p>
-<p id='n372' class='stm mis'><a href='#n372'>372</a></p>
-<p id='n373' class='pln'><a href='#n373'>373</a></p>
-<p id='n374' class='pln'><a href='#n374'>374</a></p>
-<p id='n375' class='stm run hide_run'><a href='#n375'>375</a></p>
-<p id='n376' class='pln'><a href='#n376'>376</a></p>
-<p id='n377' class='pln'><a href='#n377'>377</a></p>
-<p id='n378' class='pln'><a href='#n378'>378</a></p>
-<p id='n379' class='pln'><a href='#n379'>379</a></p>
-<p id='n380' class='stm run hide_run'><a href='#n380'>380</a></p>
-<p id='n381' class='stm run hide_run'><a href='#n381'>381</a></p>
-<p id='n382' class='pln'><a href='#n382'>382</a></p>
-<p id='n383' class='pln'><a href='#n383'>383</a></p>
-<p id='n384' class='stm run hide_run'><a href='#n384'>384</a></p>
-<p id='n385' class='pln'><a href='#n385'>385</a></p>
-<p id='n386' class='pln'><a href='#n386'>386</a></p>
-<p id='n387' class='pln'><a href='#n387'>387</a></p>
-<p id='n388' class='pln'><a href='#n388'>388</a></p>
-<p id='n389' class='stm run hide_run'><a href='#n389'>389</a></p>
-<p id='n390' class='stm run hide_run'><a href='#n390'>390</a></p>
-<p id='n391' class='pln'><a href='#n391'>391</a></p>
-<p id='n392' class='pln'><a href='#n392'>392</a></p>
-<p id='n393' class='stm run hide_run'><a href='#n393'>393</a></p>
-<p id='n394' class='pln'><a href='#n394'>394</a></p>
-<p id='n395' class='pln'><a href='#n395'>395</a></p>
-<p id='n396' class='pln'><a href='#n396'>396</a></p>
-<p id='n397' class='pln'><a href='#n397'>397</a></p>
-<p id='n398' class='pln'><a href='#n398'>398</a></p>
-<p id='n399' class='stm run hide_run'><a href='#n399'>399</a></p>
-<p id='n400' class='stm mis'><a href='#n400'>400</a></p>
-<p id='n401' class='pln'><a href='#n401'>401</a></p>
-<p id='n402' class='pln'><a href='#n402'>402</a></p>
-<p id='n403' class='stm run hide_run'><a href='#n403'>403</a></p>
-<p id='n404' class='pln'><a href='#n404'>404</a></p>
-<p id='n405' class='pln'><a href='#n405'>405</a></p>
-<p id='n406' class='pln'><a href='#n406'>406</a></p>
-<p id='n407' class='pln'><a href='#n407'>407</a></p>
-<p id='n408' class='pln'><a href='#n408'>408</a></p>
-<p id='n409' class='stm run hide_run'><a href='#n409'>409</a></p>
-<p id='n410' class='stm mis'><a href='#n410'>410</a></p>
-<p id='n411' class='pln'><a href='#n411'>411</a></p>
-<p id='n412' class='stm run hide_run'><a href='#n412'>412</a></p>
-<p id='n413' class='stm mis'><a href='#n413'>413</a></p>
-<p id='n414' class='pln'><a href='#n414'>414</a></p>
-<p id='n415' class='pln'><a href='#n415'>415</a></p>
-<p id='n416' class='stm run hide_run'><a href='#n416'>416</a></p>
-<p id='n417' class='pln'><a href='#n417'>417</a></p>
-<p id='n418' class='pln'><a href='#n418'>418</a></p>
-<p id='n419' class='pln'><a href='#n419'>419</a></p>
-<p id='n420' class='pln'><a href='#n420'>420</a></p>
-<p id='n421' class='pln'><a href='#n421'>421</a></p>
-<p id='n422' class='stm run hide_run'><a href='#n422'>422</a></p>
-<p id='n423' class='stm run hide_run'><a href='#n423'>423</a></p>
-<p id='n424' class='pln'><a href='#n424'>424</a></p>
-<p id='n425' class='stm run hide_run'><a href='#n425'>425</a></p>
-<p id='n426' class='stm run hide_run'><a href='#n426'>426</a></p>
-<p id='n427' class='pln'><a href='#n427'>427</a></p>
-<p id='n428' class='pln'><a href='#n428'>428</a></p>
-<p id='n429' class='stm run hide_run'><a href='#n429'>429</a></p>
-<p id='n430' class='pln'><a href='#n430'>430</a></p>
-<p id='n431' class='pln'><a href='#n431'>431</a></p>
-<p id='n432' class='pln'><a href='#n432'>432</a></p>
-<p id='n433' class='pln'><a href='#n433'>433</a></p>
-<p id='n434' class='pln'><a href='#n434'>434</a></p>
-<p id='n435' class='stm run hide_run'><a href='#n435'>435</a></p>
-<p id='n436' class='stm mis'><a href='#n436'>436</a></p>
-<p id='n437' class='pln'><a href='#n437'>437</a></p>
-<p id='n438' class='stm run hide_run'><a href='#n438'>438</a></p>
-<p id='n439' class='stm mis'><a href='#n439'>439</a></p>
-<p id='n440' class='pln'><a href='#n440'>440</a></p>
-<p id='n441' class='stm run hide_run'><a href='#n441'>441</a></p>
-<p id='n442' class='stm mis'><a href='#n442'>442</a></p>
-<p id='n443' class='pln'><a href='#n443'>443</a></p>
-<p id='n444' class='pln'><a href='#n444'>444</a></p>
-<p id='n445' class='stm run hide_run'><a href='#n445'>445</a></p>
-<p id='n446' class='pln'><a href='#n446'>446</a></p>
-<p id='n447' class='pln'><a href='#n447'>447</a></p>
-<p id='n448' class='pln'><a href='#n448'>448</a></p>
-<p id='n449' class='pln'><a href='#n449'>449</a></p>
-<p id='n450' class='pln'><a href='#n450'>450</a></p>
-<p id='n451' class='stm run hide_run'><a href='#n451'>451</a></p>
-<p id='n452' class='stm mis'><a href='#n452'>452</a></p>
-<p id='n453' class='pln'><a href='#n453'>453</a></p>
-<p id='n454' class='stm run hide_run'><a href='#n454'>454</a></p>
-<p id='n455' class='stm mis'><a href='#n455'>455</a></p>
-<p id='n456' class='pln'><a href='#n456'>456</a></p>
-<p id='n457' class='pln'><a href='#n457'>457</a></p>
-<p id='n458' class='stm run hide_run'><a href='#n458'>458</a></p>
-<p id='n459' class='pln'><a href='#n459'>459</a></p>
-<p id='n460' class='pln'><a href='#n460'>460</a></p>
-<p id='n461' class='pln'><a href='#n461'>461</a></p>
-<p id='n462' class='pln'><a href='#n462'>462</a></p>
-<p id='n463' class='pln'><a href='#n463'>463</a></p>
-<p id='n464' class='pln'><a href='#n464'>464</a></p>
-<p id='n465' class='stm run hide_run'><a href='#n465'>465</a></p>
-<p id='n466' class='stm run hide_run'><a href='#n466'>466</a></p>
-<p id='n467' class='pln'><a href='#n467'>467</a></p>
-<p id='n468' class='stm run hide_run'><a href='#n468'>468</a></p>
-<p id='n469' class='stm run hide_run'><a href='#n469'>469</a></p>
-<p id='n470' class='pln'><a href='#n470'>470</a></p>
-<p id='n471' class='stm run hide_run'><a href='#n471'>471</a></p>
-<p id='n472' class='stm run hide_run'><a href='#n472'>472</a></p>
-<p id='n473' class='pln'><a href='#n473'>473</a></p>
-<p id='n474' class='stm run hide_run'><a href='#n474'>474</a></p>
-<p id='n475' class='stm run hide_run'><a href='#n475'>475</a></p>
-<p id='n476' class='pln'><a href='#n476'>476</a></p>
-<p id='n477' class='pln'><a href='#n477'>477</a></p>
-<p id='n478' class='pln'><a href='#n478'>478</a></p>
-<p id='n479' class='pln'><a href='#n479'>479</a></p>
-<p id='n480' class='pln'><a href='#n480'>480</a></p>
-<p id='n481' class='pln'><a href='#n481'>481</a></p>
-<p id='n482' class='stm run hide_run'><a href='#n482'>482</a></p>
-<p id='n483' class='stm run hide_run'><a href='#n483'>483</a></p>
-<p id='n484' class='stm mis'><a href='#n484'>484</a></p>
-<p id='n485' class='pln'><a href='#n485'>485</a></p>
-<p id='n486' class='pln'><a href='#n486'>486</a></p>
-<p id='n487' class='pln'><a href='#n487'>487</a></p>
-<p id='n488' class='pln'><a href='#n488'>488</a></p>
-<p id='n489' class='stm mis'><a href='#n489'>489</a></p>
-<p id='n490' class='pln'><a href='#n490'>490</a></p>
-<p id='n491' class='pln'><a href='#n491'>491</a></p>
-<p id='n492' class='stm run hide_run'><a href='#n492'>492</a></p>
-<p id='n493' class='stm run hide_run'><a href='#n493'>493</a></p>
-<p id='n494' class='stm mis'><a href='#n494'>494</a></p>
-<p id='n495' class='pln'><a href='#n495'>495</a></p>
-<p id='n496' class='pln'><a href='#n496'>496</a></p>
-<p id='n497' class='pln'><a href='#n497'>497</a></p>
-<p id='n498' class='pln'><a href='#n498'>498</a></p>
-<p id='n499' class='stm mis'><a href='#n499'>499</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Generic views that provide commonly needed behaviour.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>exceptions</span> <span class='key'>import</span> <span class='nam'>ImproperlyConfigured</span><span class='op'>,</span> <span class='nam'>PermissionDenied</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>paginator</span> <span class='key'>import</span> <span class='nam'>Paginator</span><span class='op'>,</span> <span class='nam'>InvalidPage</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>http</span> <span class='key'>import</span> <span class='nam'>Http404</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>shortcuts</span> <span class='key'>import</span> <span class='nam'>get_object_or_404</span> <span class='key'>as</span> <span class='nam'>_get_object_or_404</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>translation</span> <span class='key'>import</span> <span class='nam'>ugettext</span> <span class='key'>as</span> <span class='nam'>_</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>views</span><span class='op'>,</span> <span class='nam'>mixins</span><span class='op'>,</span> <span class='nam'>exceptions</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>request</span> <span class='key'>import</span> <span class='nam'>clone_request</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>settings</span> <span class='key'>import</span> <span class='nam'>api_settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>warnings</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>get_object_or_404</span><span class='op'>(</span><span class='nam'>queryset</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>filter_kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='str'>&nbsp; &nbsp; Same as Django&#39;s standard shortcut, but make sure to raise 404</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='str'>&nbsp; &nbsp; if the filter_kwargs don&#39;t match the required types.</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>_get_object_or_404</span><span class='op'>(</span><span class='nam'>queryset</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>filter_kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>TypeError</span><span class='op'>,</span> <span class='nam'>ValueError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>Http404</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>GenericAPIView</span><span class='op'>(</span><span class='nam'>views</span><span class='op'>.</span><span class='nam'>APIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'><span class='str'>&nbsp; &nbsp; Base class for all other generic views.</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'>&nbsp; &nbsp; <span class='com'># You&#39;ll need to either set these attributes,</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'>&nbsp; &nbsp; <span class='com'># or override `get_queryset()`/`get_serializer_class()`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>serializer_class</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'>&nbsp; &nbsp; <span class='com'># This shortcut may be used instead of setting either or both</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'>&nbsp; &nbsp; <span class='com'># of the `queryset`/`serializer_class` attributes, although using</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'>&nbsp; &nbsp; <span class='com'># the explicit style is generally preferred.</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>model</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'>&nbsp; &nbsp; <span class='com'># If you want to use object lookups other than pk, set this attribute.</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'>&nbsp; &nbsp; <span class='com'># For more complex lookup requirements override `get_object()`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>lookup_field</span> <span class='op'>=</span> <span class='str'>&#39;pk&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'>&nbsp; &nbsp; <span class='com'># Pagination settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>paginate_by</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>PAGINATE_BY</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>paginate_by_param</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>PAGINATE_BY_PARAM</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>pagination_serializer_class</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DEFAULT_PAGINATION_SERIALIZER_CLASS</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>page_kwarg</span> <span class='op'>=</span> <span class='str'>&#39;page&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'>&nbsp; &nbsp; <span class='com'># The filter backend classes to use for queryset filtering</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>filter_backends</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DEFAULT_FILTER_BACKENDS</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'>&nbsp; &nbsp; <span class='com'># The following attributes may be subject to change,</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'>&nbsp; &nbsp; <span class='com'># and should be considered private API.</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>model_serializer_class</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DEFAULT_MODEL_SERIALIZER_CLASS</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>paginator_class</span> <span class='op'>=</span> <span class='nam'>Paginator</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='pln'>&nbsp; &nbsp; <span class='com'>######################################</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'>&nbsp; &nbsp; <span class='com'># These are pending deprecation...</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>pk_url_kwarg</span> <span class='op'>=</span> <span class='str'>&#39;pk&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>slug_url_kwarg</span> <span class='op'>=</span> <span class='str'>&#39;slug&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>slug_field</span> <span class='op'>=</span> <span class='str'>&#39;slug&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>allow_empty</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>filter_backend</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>FILTER_BACKEND</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_serializer_context</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Extra context provided to the serializer class.</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;request&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>request</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;format&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format_kwarg</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;view&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_serializer</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>instance</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>files</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>many</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>,</span> <span class='nam'>partial</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return the serializer instance that should be used for validating and</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; deserializing input, and for serializing output.</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>serializer_class</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_serializer_class</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>context</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_serializer_context</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>serializer_class</span><span class='op'>(</span><span class='nam'>instance</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>=</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>=</span><span class='nam'>files</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>many</span><span class='op'>=</span><span class='nam'>many</span><span class='op'>,</span> <span class='nam'>partial</span><span class='op'>=</span><span class='nam'>partial</span><span class='op'>,</span> <span class='nam'>context</span><span class='op'>=</span><span class='nam'>context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_pagination_serializer</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>page</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return a serializer instance to use with paginated data.</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>SerializerClass</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>pagination_serializer_class</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>Meta</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>object_serializer_class</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_serializer_class</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>pagination_serializer_class</span> <span class='op'>=</span> <span class='nam'>SerializerClass</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>context</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_serializer_context</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>pagination_serializer_class</span><span class='op'>(</span><span class='nam'>instance</span><span class='op'>=</span><span class='nam'>page</span><span class='op'>,</span> <span class='nam'>context</span><span class='op'>=</span><span class='nam'>context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>paginate_queryset</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>,</span> <span class='nam'>page_size</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Paginate a queryset if required, either returning a page object,</span><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; or `None` if pagination is not configured for this view.</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>deprecated_style</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>page_size</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='str'>&#39;The `page_size` parameter to `paginate_queryset()` &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;is due to be deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Note that the return style of this method is also &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;changed, and will simply return a page object &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;when called without a `page_size` argument.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>PendingDeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>deprecated_style</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Determine the required page size.</span><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If pagination is not configured, simply return None.</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>page_size</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_paginate_by</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>page_size</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>allow_empty</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;The `allow_empty` parameter is due to be deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;To use `allow_empty=False` style behavior, You should override &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;`get_queryset()` and explicitly raise a 404 on empty querysets.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>PendingDeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>paginator</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>paginator_class</span><span class='op'>(</span><span class='nam'>queryset</span><span class='op'>,</span> <span class='nam'>page_size</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>allow_empty_first_page</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>allow_empty</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>page_kwarg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>page_kwarg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>page_query_param</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>QUERY_PARAMS</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>page_kwarg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>page</span> <span class='op'>=</span> <span class='nam'>page_kwarg</span> <span class='key'>or</span> <span class='nam'>page_query_param</span> <span class='key'>or</span> <span class='num'>1</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>page_number</span> <span class='op'>=</span> <span class='nam'>int</span><span class='op'>(</span><span class='nam'>page</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ValueError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>page</span> <span class='op'>==</span> <span class='str'>&#39;last&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>page_number</span> <span class='op'>=</span> <span class='nam'>paginator</span><span class='op'>.</span><span class='nam'>num_pages</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>Http404</span><span class='op'>(</span><span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;Page is not &#39;last&#39;, nor can it be converted to an int.&quot;</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>page</span> <span class='op'>=</span> <span class='nam'>paginator</span><span class='op'>.</span><span class='nam'>page</span><span class='op'>(</span><span class='nam'>page_number</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>InvalidPage</span> <span class='key'>as</span> <span class='nam'>e</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>Http404</span><span class='op'>(</span><span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Invalid page (%(page_number)s): %(message)s&#39;</span><span class='op'>)</span> <span class='op'>%</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;page_number&#39;</span><span class='op'>:</span> <span class='nam'>page_number</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;message&#39;</span><span class='op'>:</span> <span class='nam'>str</span><span class='op'>(</span><span class='nam'>e</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>deprecated_style</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>paginator</span><span class='op'>,</span> <span class='nam'>page</span><span class='op'>,</span> <span class='nam'>page</span><span class='op'>.</span><span class='nam'>object_list</span><span class='op'>,</span> <span class='nam'>page</span><span class='op'>.</span><span class='nam'>has_other_pages</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>page</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>filter_queryset</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given a queryset, filter it with whichever filter backend is in use.</span><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; You are unlikely to want to override this method, although you may need</span><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; to call it either from a list view, or from a custom `get_object`</span><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; method if you want to apply the configured filtering backend to the</span><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; default queryset.</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filter_backends</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>filter_backends</span> <span class='key'>or</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>filter_backends</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>filter_backend</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;The `filter_backend` attribute and `FILTER_BACKEND` setting &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;are due to be deprecated in favor of a `filter_backends` &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;attribute and `DEFAULT_FILTER_BACKENDS` setting, that take &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;a *list* of filter backend classes.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>PendingDeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filter_backends</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>filter_backend</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>backend</span> <span class='key'>in</span> <span class='nam'>filter_backends</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>backend</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>filter_queryset</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>queryset</span><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='pln'>&nbsp; &nbsp; <span class='com'>########################</span><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='pln'>&nbsp; &nbsp; <span class='com'>### The following methods provide default implementations</span><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='pln'>&nbsp; &nbsp; <span class='com'>### that you may want to override for more complex cases.</span><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_paginate_by</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return the size of pages to use with pagination.</span><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If `PAGINATE_BY_PARAM` is set it will attempt to get the page size</span><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; from a named query parameter in the url, eg. ?page_size=100</span><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Otherwise defaults to using `self.paginate_by`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t193' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>queryset</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t194' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='str'>&#39;The `queryset` parameter to `get_paginate_by()` &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t195' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;is due to be deprecated.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t196' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>PendingDeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t197' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t198' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>paginate_by_param</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t199' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>query_params</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>QUERY_PARAMS</span><span class='strut'>&nbsp;</span></p>
-<p id='t200' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t201' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>int</span><span class='op'>(</span><span class='nam'>query_params</span><span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>paginate_by_param</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t202' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>KeyError</span><span class='op'>,</span> <span class='nam'>ValueError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t203' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t204' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t205' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>paginate_by</span><span class='strut'>&nbsp;</span></p>
-<p id='t206' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t207' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_serializer_class</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t208' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t209' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return the class to use for the serializer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t210' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Defaults to using `self.serializer_class`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t211' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t212' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; You may want to override this if you need to provide different</span><span class='strut'>&nbsp;</span></p>
-<p id='t213' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; serializations depending on the incoming request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t214' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t215' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; (Eg. admins get full serialization, others get basic serialization)</span><span class='strut'>&nbsp;</span></p>
-<p id='t216' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t217' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>serializer_class</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>serializer_class</span><span class='strut'>&nbsp;</span></p>
-<p id='t218' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>serializer_class</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t219' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>serializer_class</span><span class='strut'>&nbsp;</span></p>
-<p id='t220' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t221' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>model</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>,</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t222' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&#39;%s&#39; should either include a &#39;serializer_class&#39; attribute, &quot;</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t223' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;or use the &#39;model&#39; attribute as a shortcut for &quot;</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t224' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;automatically generating a serializer class.&quot;</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t225' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>.</span><span class='nam'>__name__</span><span class='strut'>&nbsp;</span></p>
-<p id='t226' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t227' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>DefaultSerializer</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>model_serializer_class</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t228' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>Meta</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t229' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>model</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>model</span><span class='strut'>&nbsp;</span></p>
-<p id='t230' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>DefaultSerializer</span><span class='strut'>&nbsp;</span></p>
-<p id='t231' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t232' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_queryset</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t233' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t234' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Get the list of items for this view.</span><span class='strut'>&nbsp;</span></p>
-<p id='t235' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This must be an iterable, and may be a queryset.</span><span class='strut'>&nbsp;</span></p>
-<p id='t236' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Defaults to using `self.queryset`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t237' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t238' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; You may want to override this if you need to provide different</span><span class='strut'>&nbsp;</span></p>
-<p id='t239' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; querysets depending on the incoming request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t240' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t241' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; (Eg. return a list of items that is specific to the user)</span><span class='strut'>&nbsp;</span></p>
-<p id='t242' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t243' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>queryset</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t244' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>queryset</span><span class='op'>.</span><span class='nam'>_clone</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t245' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t246' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>model</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t247' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>model</span><span class='op'>.</span><span class='nam'>_default_manager</span><span class='op'>.</span><span class='nam'>all</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t248' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t249' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ImproperlyConfigured</span><span class='op'>(</span><span class='str'>&quot;&#39;%s&#39; must define &#39;queryset&#39; or &#39;model&#39;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t250' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>.</span><span class='nam'>__name__</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t251' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t252' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_object</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t253' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t254' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns the object the view is displaying.</span><span class='strut'>&nbsp;</span></p>
-<p id='t255' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t256' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; You may want to override this if you need to provide non-standard</span><span class='strut'>&nbsp;</span></p>
-<p id='t257' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; queryset lookups.&nbsp; Eg if objects are referenced using multiple</span><span class='strut'>&nbsp;</span></p>
-<p id='t258' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; keyword arguments in the url conf.</span><span class='strut'>&nbsp;</span></p>
-<p id='t259' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t260' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Determine the base queryset to use.</span><span class='strut'>&nbsp;</span></p>
-<p id='t261' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>queryset</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t262' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>filter_queryset</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_queryset</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t263' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t264' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span>&nbsp; <span class='com'># Deprecation warning</span><span class='strut'>&nbsp;</span></p>
-<p id='t265' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t266' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Perform the lookup filtering.</span><span class='strut'>&nbsp;</span></p>
-<p id='t267' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>pk</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>pk_url_kwarg</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t268' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>slug</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_url_kwarg</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t269' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lookup</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t270' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t271' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>lookup</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t272' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filter_kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>:</span> <span class='nam'>lookup</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t273' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>pk</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span> <span class='op'>==</span> <span class='str'>&#39;pk&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t274' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t275' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;The `pk_url_kwarg` attribute is due to be deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t276' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Use the `lookup_field` attribute instead&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t277' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>PendingDeprecationWarning</span><span class='strut'>&nbsp;</span></p>
-<p id='t278' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t279' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filter_kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='str'>&#39;pk&#39;</span><span class='op'>:</span> <span class='nam'>pk</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t280' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>slug</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span> <span class='op'>==</span> <span class='str'>&#39;pk&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t281' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t282' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;The `slug_url_kwarg` attribute is due to be deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t283' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Use the `lookup_field` attribute instead&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t284' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>PendingDeprecationWarning</span><span class='strut'>&nbsp;</span></p>
-<p id='t285' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t286' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filter_kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span><span class='op'>:</span> <span class='nam'>slug</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t287' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t288' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ImproperlyConfigured</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t289' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Expected view %s to be called with a URL keyword argument &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t290' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;named &quot;%s&quot;. Fix your URL conf, or set the `.lookup_field` &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t291' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;attribute on the view correctly.&#39;</span> <span class='op'>%</span><span class='strut'>&nbsp;</span></p>
-<p id='t292' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>.</span><span class='nam'>__name__</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t293' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t294' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t295' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>obj</span> <span class='op'>=</span> <span class='nam'>get_object_or_404</span><span class='op'>(</span><span class='nam'>queryset</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>filter_kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t296' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t297' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># May raise a permission denied</span><span class='strut'>&nbsp;</span></p>
-<p id='t298' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>check_object_permissions</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t299' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t300' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>obj</span><span class='strut'>&nbsp;</span></p>
-<p id='t301' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t302' class='pln'>&nbsp; &nbsp; <span class='com'>########################</span><span class='strut'>&nbsp;</span></p>
-<p id='t303' class='pln'>&nbsp; &nbsp; <span class='com'>### The following are placeholder methods,</span><span class='strut'>&nbsp;</span></p>
-<p id='t304' class='pln'>&nbsp; &nbsp; <span class='com'>### and are intended to be overridden.</span><span class='strut'>&nbsp;</span></p>
-<p id='t305' class='pln'>&nbsp; &nbsp; <span class='com'>###</span><span class='strut'>&nbsp;</span></p>
-<p id='t306' class='pln'>&nbsp; &nbsp; <span class='com'>### The are not called by GenericAPIView directly,</span><span class='strut'>&nbsp;</span></p>
-<p id='t307' class='pln'>&nbsp; &nbsp; <span class='com'>### but are used by the mixin methods.</span><span class='strut'>&nbsp;</span></p>
-<p id='t308' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t309' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>pre_save</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t310' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t311' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Placeholder method for calling before saving an object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t312' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t313' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; May be used to set attributes on the object that are implicit</span><span class='strut'>&nbsp;</span></p>
-<p id='t314' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; in either the request, or the url.</span><span class='strut'>&nbsp;</span></p>
-<p id='t315' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t316' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t317' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t318' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>post_save</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>created</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t319' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t320' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Placeholder method for calling after saving an object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t321' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t322' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t323' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t324' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>metadata</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t325' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t326' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return a dictionary of metadata about the view.</span><span class='strut'>&nbsp;</span></p>
-<p id='t327' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Used to return responses for OPTIONS requests.</span><span class='strut'>&nbsp;</span></p>
-<p id='t328' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t329' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; We override the default behavior, and add some extra information</span><span class='strut'>&nbsp;</span></p>
-<p id='t330' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; about the required request body for POST and PUT operations.</span><span class='strut'>&nbsp;</span></p>
-<p id='t331' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t332' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>GenericAPIView</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>metadata</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t333' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t334' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>actions</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t335' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>method</span> <span class='key'>in</span> <span class='op'>(</span><span class='str'>&#39;PUT&#39;</span><span class='op'>,</span> <span class='str'>&#39;POST&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t336' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>method</span> <span class='key'>not</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>allowed_methods</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t337' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>continue</span><span class='strut'>&nbsp;</span></p>
-<p id='t338' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t339' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cloned_request</span> <span class='op'>=</span> <span class='nam'>clone_request</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t340' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t341' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Test global permissions</span><span class='strut'>&nbsp;</span></p>
-<p id='t342' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>check_permissions</span><span class='op'>(</span><span class='nam'>cloned_request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t343' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Test object permissions</span><span class='strut'>&nbsp;</span></p>
-<p id='t344' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>method</span> <span class='op'>==</span> <span class='str'>&#39;PUT&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t345' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_object</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t346' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>APIException</span><span class='op'>,</span> <span class='nam'>PermissionDenied</span><span class='op'>,</span> <span class='nam'>Http404</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t347' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t348' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t349' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If user has appropriate permissions for the view, include</span><span class='strut'>&nbsp;</span></p>
-<p id='t350' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># appropriate metadata about the fields that should be supplied.</span><span class='strut'>&nbsp;</span></p>
-<p id='t351' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>serializer</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_serializer</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t352' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>actions</span><span class='op'>[</span><span class='nam'>method</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>metadata</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t353' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t354' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>actions</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t355' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='str'>&#39;actions&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>actions</span><span class='strut'>&nbsp;</span></p>
-<p id='t356' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t357' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t358' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t359' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t360' class='pln'><span class='com'>##########################################################</span><span class='strut'>&nbsp;</span></p>
-<p id='t361' class='pln'><span class='com'>### Concrete view classes that provide method handlers ###</span><span class='strut'>&nbsp;</span></p>
-<p id='t362' class='pln'><span class='com'>### by composing the mixin classes with the base view. ###</span><span class='strut'>&nbsp;</span></p>
-<p id='t363' class='pln'><span class='com'>##########################################################</span><span class='strut'>&nbsp;</span></p>
-<p id='t364' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t365' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CreateAPIView</span><span class='op'>(</span><span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>CreateModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t366' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>GenericAPIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t367' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t368' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t369' class='pln'><span class='str'>&nbsp; &nbsp; Concrete view for creating a model instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t370' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t371' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>post</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t372' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>create</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t373' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t374' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t375' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ListAPIView</span><span class='op'>(</span><span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>ListModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t376' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>GenericAPIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t377' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t378' class='pln'><span class='str'>&nbsp; &nbsp; Concrete view for listing a queryset.</span><span class='strut'>&nbsp;</span></p>
-<p id='t379' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t380' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t381' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>list</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t382' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t383' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t384' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>RetrieveAPIView</span><span class='op'>(</span><span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>RetrieveModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t385' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>GenericAPIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t386' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t387' class='pln'><span class='str'>&nbsp; &nbsp; Concrete view for retrieving a model instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t388' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t389' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t390' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>retrieve</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t391' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t392' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t393' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>DestroyAPIView</span><span class='op'>(</span><span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>DestroyModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t394' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>GenericAPIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t395' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t396' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t397' class='pln'><span class='str'>&nbsp; &nbsp; Concrete view for deleting a model instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t398' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t399' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>delete</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t400' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>destroy</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t401' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t402' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t403' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>UpdateAPIView</span><span class='op'>(</span><span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>UpdateModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t404' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>GenericAPIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t405' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t406' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t407' class='pln'><span class='str'>&nbsp; &nbsp; Concrete view for updating a model instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t408' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t409' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>put</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t410' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t411' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t412' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>patch</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t413' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>partial_update</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t414' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t415' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t416' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ListCreateAPIView</span><span class='op'>(</span><span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>ListModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t417' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>CreateModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t418' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>GenericAPIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t419' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t420' class='pln'><span class='str'>&nbsp; &nbsp; Concrete view for listing a queryset or creating a model instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t421' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t422' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t423' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>list</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t424' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t425' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>post</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t426' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>create</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t427' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t428' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t429' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>RetrieveUpdateAPIView</span><span class='op'>(</span><span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>RetrieveModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t430' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>UpdateModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t431' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>GenericAPIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t432' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t433' class='pln'><span class='str'>&nbsp; &nbsp; Concrete view for retrieving, updating a model instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t434' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t435' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t436' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>retrieve</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t437' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t438' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>put</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t439' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t440' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t441' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>patch</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t442' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>partial_update</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t443' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t444' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t445' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>RetrieveDestroyAPIView</span><span class='op'>(</span><span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>RetrieveModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t446' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>DestroyModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t447' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>GenericAPIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t448' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t449' class='pln'><span class='str'>&nbsp; &nbsp; Concrete view for retrieving or deleting a model instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t450' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t451' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t452' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>retrieve</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t453' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t454' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>delete</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t455' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>destroy</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t456' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t457' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t458' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>RetrieveUpdateDestroyAPIView</span><span class='op'>(</span><span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>RetrieveModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t459' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>UpdateModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t460' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>DestroyModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t461' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>GenericAPIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t462' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t463' class='pln'><span class='str'>&nbsp; &nbsp; Concrete view for retrieving, updating or deleting a model instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t464' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t465' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t466' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>retrieve</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t467' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t468' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>put</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t469' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t470' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t471' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>patch</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t472' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>partial_update</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t473' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t474' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>delete</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t475' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>destroy</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t476' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t477' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t478' class='pln'><span class='com'>##########################</span><span class='strut'>&nbsp;</span></p>
-<p id='t479' class='pln'><span class='com'>### Deprecated classes ###</span><span class='strut'>&nbsp;</span></p>
-<p id='t480' class='pln'><span class='com'>##########################</span><span class='strut'>&nbsp;</span></p>
-<p id='t481' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t482' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>MultipleObjectAPIView</span><span class='op'>(</span><span class='nam'>GenericAPIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t483' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t484' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t485' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Subclassing `MultipleObjectAPIView` is due to be deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t486' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;You should simply subclass `GenericAPIView` instead.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t487' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>PendingDeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='strut'>&nbsp;</span></p>
-<p id='t488' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t489' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>MultipleObjectAPIView</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t490' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t491' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t492' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>SingleObjectAPIView</span><span class='op'>(</span><span class='nam'>GenericAPIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t493' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t494' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t495' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Subclassing `SingleObjectAPIView` is due to be deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t496' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;You should simply subclass `GenericAPIView` instead.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t497' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>PendingDeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='strut'>&nbsp;</span></p>
-<p id='t498' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t499' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>SingleObjectAPIView</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_mixins.html b/htmlcov/rest_framework_mixins.html
deleted file mode 100644
index fa62f2ae..00000000
--- a/htmlcov/rest_framework_mixins.html
+++ /dev/null
@@ -1,449 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/mixins: 93%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/mixins</b> :
- <span class='pc_cov'>93%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 97 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>90 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>7 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='stm run hide_run'><a href='#n28'>28</a></p>
-<p id='n29' class='stm run hide_run'><a href='#n29'>29</a></p>
-<p id='n30' class='stm mis'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='stm run hide_run'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='stm run hide_run'><a href='#n37'>37</a></p>
-<p id='n38' class='stm run hide_run'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='stm run hide_run'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='stm run hide_run'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='stm run hide_run'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='stm run hide_run'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='stm mis'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='stm run hide_run'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='stm run hide_run'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='stm run hide_run'><a href='#n64'>64</a></p>
-<p id='n65' class='pln'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='stm run hide_run'><a href='#n67'>67</a></p>
-<p id='n68' class='pln'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='pln'><a href='#n70'>70</a></p>
-<p id='n71' class='stm run hide_run'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='stm run hide_run'><a href='#n73'>73</a></p>
-<p id='n74' class='stm run hide_run'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='pln'><a href='#n77'>77</a></p>
-<p id='n78' class='stm run hide_run'><a href='#n78'>78</a></p>
-<p id='n79' class='stm mis'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='pln'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='stm mis'><a href='#n85'>85</a></p>
-<p id='n86' class='stm mis'><a href='#n86'>86</a></p>
-<p id='n87' class='stm mis'><a href='#n87'>87</a></p>
-<p id='n88' class='pln'><a href='#n88'>88</a></p>
-<p id='n89' class='pln'><a href='#n89'>89</a></p>
-<p id='n90' class='stm run hide_run'><a href='#n90'>90</a></p>
-<p id='n91' class='stm run hide_run'><a href='#n91'>91</a></p>
-<p id='n92' class='stm run hide_run'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='stm run hide_run'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='stm run hide_run'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='stm run hide_run'><a href='#n99'>99</a></p>
-<p id='n100' class='pln'><a href='#n100'>100</a></p>
-<p id='n101' class='pln'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='stm run hide_run'><a href='#n103'>103</a></p>
-<p id='n104' class='stm run hide_run'><a href='#n104'>104</a></p>
-<p id='n105' class='stm run hide_run'><a href='#n105'>105</a></p>
-<p id='n106' class='stm run hide_run'><a href='#n106'>106</a></p>
-<p id='n107' class='pln'><a href='#n107'>107</a></p>
-<p id='n108' class='pln'><a href='#n108'>108</a></p>
-<p id='n109' class='stm run hide_run'><a href='#n109'>109</a></p>
-<p id='n110' class='pln'><a href='#n110'>110</a></p>
-<p id='n111' class='pln'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='stm run hide_run'><a href='#n113'>113</a></p>
-<p id='n114' class='stm run hide_run'><a href='#n114'>114</a></p>
-<p id='n115' class='stm run hide_run'><a href='#n115'>115</a></p>
-<p id='n116' class='pln'><a href='#n116'>116</a></p>
-<p id='n117' class='stm run hide_run'><a href='#n117'>117</a></p>
-<p id='n118' class='stm run hide_run'><a href='#n118'>118</a></p>
-<p id='n119' class='stm run hide_run'><a href='#n119'>119</a></p>
-<p id='n120' class='stm run hide_run'><a href='#n120'>120</a></p>
-<p id='n121' class='pln'><a href='#n121'>121</a></p>
-<p id='n122' class='stm run hide_run'><a href='#n122'>122</a></p>
-<p id='n123' class='stm run hide_run'><a href='#n123'>123</a></p>
-<p id='n124' class='stm run hide_run'><a href='#n124'>124</a></p>
-<p id='n125' class='pln'><a href='#n125'>125</a></p>
-<p id='n126' class='stm run hide_run'><a href='#n126'>126</a></p>
-<p id='n127' class='pln'><a href='#n127'>127</a></p>
-<p id='n128' class='pln'><a href='#n128'>128</a></p>
-<p id='n129' class='stm run hide_run'><a href='#n129'>129</a></p>
-<p id='n130' class='stm run hide_run'><a href='#n130'>130</a></p>
-<p id='n131' class='stm run hide_run'><a href='#n131'>131</a></p>
-<p id='n132' class='stm run hide_run'><a href='#n132'>132</a></p>
-<p id='n133' class='stm run hide_run'><a href='#n133'>133</a></p>
-<p id='n134' class='pln'><a href='#n134'>134</a></p>
-<p id='n135' class='stm mis'><a href='#n135'>135</a></p>
-<p id='n136' class='pln'><a href='#n136'>136</a></p>
-<p id='n137' class='stm run hide_run'><a href='#n137'>137</a></p>
-<p id='n138' class='stm run hide_run'><a href='#n138'>138</a></p>
-<p id='n139' class='stm run hide_run'><a href='#n139'>139</a></p>
-<p id='n140' class='pln'><a href='#n140'>140</a></p>
-<p id='n141' class='stm run hide_run'><a href='#n141'>141</a></p>
-<p id='n142' class='stm run hide_run'><a href='#n142'>142</a></p>
-<p id='n143' class='stm run hide_run'><a href='#n143'>143</a></p>
-<p id='n144' class='stm run hide_run'><a href='#n144'>144</a></p>
-<p id='n145' class='pln'><a href='#n145'>145</a></p>
-<p id='n146' class='pln'><a href='#n146'>146</a></p>
-<p id='n147' class='pln'><a href='#n147'>147</a></p>
-<p id='n148' class='pln'><a href='#n148'>148</a></p>
-<p id='n149' class='stm run hide_run'><a href='#n149'>149</a></p>
-<p id='n150' class='pln'><a href='#n150'>150</a></p>
-<p id='n151' class='stm run hide_run'><a href='#n151'>151</a></p>
-<p id='n152' class='pln'><a href='#n152'>152</a></p>
-<p id='n153' class='pln'><a href='#n153'>153</a></p>
-<p id='n154' class='pln'><a href='#n154'>154</a></p>
-<p id='n155' class='pln'><a href='#n155'>155</a></p>
-<p id='n156' class='stm run hide_run'><a href='#n156'>156</a></p>
-<p id='n157' class='stm run hide_run'><a href='#n157'>157</a></p>
-<p id='n158' class='stm run hide_run'><a href='#n158'>158</a></p>
-<p id='n159' class='stm run hide_run'><a href='#n159'>159</a></p>
-<p id='n160' class='pln'><a href='#n160'>160</a></p>
-<p id='n161' class='stm run hide_run'><a href='#n161'>161</a></p>
-<p id='n162' class='stm run hide_run'><a href='#n162'>162</a></p>
-<p id='n163' class='pln'><a href='#n163'>163</a></p>
-<p id='n164' class='stm run hide_run'><a href='#n164'>164</a></p>
-<p id='n165' class='stm run hide_run'><a href='#n165'>165</a></p>
-<p id='n166' class='pln'><a href='#n166'>166</a></p>
-<p id='n167' class='stm run hide_run'><a href='#n167'>167</a></p>
-<p id='n168' class='stm run hide_run'><a href='#n168'>168</a></p>
-<p id='n169' class='pln'><a href='#n169'>169</a></p>
-<p id='n170' class='pln'><a href='#n170'>170</a></p>
-<p id='n171' class='pln'><a href='#n171'>171</a></p>
-<p id='n172' class='stm run hide_run'><a href='#n172'>172</a></p>
-<p id='n173' class='stm run hide_run'><a href='#n173'>173</a></p>
-<p id='n174' class='stm run hide_run'><a href='#n174'>174</a></p>
-<p id='n175' class='pln'><a href='#n175'>175</a></p>
-<p id='n176' class='pln'><a href='#n176'>176</a></p>
-<p id='n177' class='stm run hide_run'><a href='#n177'>177</a></p>
-<p id='n178' class='pln'><a href='#n178'>178</a></p>
-<p id='n179' class='pln'><a href='#n179'>179</a></p>
-<p id='n180' class='pln'><a href='#n180'>180</a></p>
-<p id='n181' class='stm run hide_run'><a href='#n181'>181</a></p>
-<p id='n182' class='stm run hide_run'><a href='#n182'>182</a></p>
-<p id='n183' class='stm run hide_run'><a href='#n183'>183</a></p>
-<p id='n184' class='stm run hide_run'><a href='#n184'>184</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Basic building blocks for generic class based views.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>We don&#39;t bind behaviour to http method handlers yet,</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>which allows mixin classes to be composed in interesting ways.</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>http</span> <span class='key'>import</span> <span class='nam'>Http404</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>status</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>response</span> <span class='key'>import</span> <span class='nam'>Response</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>request</span> <span class='key'>import</span> <span class='nam'>clone_request</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>warnings</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>_get_validation_exclusions</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>pk</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>slug_field</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>lookup_field</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'><span class='str'>&nbsp; &nbsp; Given a model instance, and an optional pk and slug field,</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='str'>&nbsp; &nbsp; return the full list of all other field names on that model.</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='str'>&nbsp; &nbsp; For use when performing full_clean on a model instance,</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'><span class='str'>&nbsp; &nbsp; so we only clean the required fields.</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>include</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>pk</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Pending deprecation</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>pk_field</span> <span class='op'>=</span> <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>_meta</span><span class='op'>.</span><span class='nam'>pk</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>while</span> <span class='nam'>pk_field</span><span class='op'>.</span><span class='nam'>rel</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>pk_field</span> <span class='op'>=</span> <span class='nam'>pk_field</span><span class='op'>.</span><span class='nam'>rel</span><span class='op'>.</span><span class='nam'>to</span><span class='op'>.</span><span class='nam'>_meta</span><span class='op'>.</span><span class='nam'>pk</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>include</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>pk_field</span><span class='op'>.</span><span class='nam'>name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>slug_field</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Pending deprecation</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>include</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>slug_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>lookup_field</span> <span class='key'>and</span> <span class='nam'>lookup_field</span> <span class='op'>!=</span> <span class='str'>&#39;pk&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>include</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>lookup_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>field</span><span class='op'>.</span><span class='nam'>name</span> <span class='key'>for</span> <span class='nam'>field</span> <span class='key'>in</span> <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>_meta</span><span class='op'>.</span><span class='nam'>fields</span> <span class='key'>if</span> <span class='nam'>field</span><span class='op'>.</span><span class='nam'>name</span> <span class='key'>not</span> <span class='key'>in</span> <span class='nam'>include</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>CreateModelMixin</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'><span class='str'>&nbsp; &nbsp; Create a model instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>create</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>serializer</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_serializer</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>DATA</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>FILES</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>is_valid</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>pre_save</span><span class='op'>(</span><span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>object</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span> <span class='op'>=</span> <span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>save</span><span class='op'>(</span><span class='nam'>force_insert</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>post_save</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span><span class='op'>,</span> <span class='nam'>created</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>headers</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_success_headers</span><span class='op'>(</span><span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>status</span><span class='op'>=</span><span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_201_CREATED</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>headers</span><span class='op'>=</span><span class='nam'>headers</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>errors</span><span class='op'>,</span> <span class='nam'>status</span><span class='op'>=</span><span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_400_BAD_REQUEST</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_success_headers</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>{</span><span class='str'>&#39;Location&#39;</span><span class='op'>:</span> <span class='nam'>data</span><span class='op'>[</span><span class='str'>&#39;url&#39;</span><span class='op'>]</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>TypeError</span><span class='op'>,</span> <span class='nam'>KeyError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ListModelMixin</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'><span class='str'>&nbsp; &nbsp; List a queryset.</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>empty_error</span> <span class='op'>=</span> <span class='str'>&quot;Empty list and &#39;%(class_name)s.allow_empty&#39; is False.&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>list</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object_list</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>filter_queryset</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_queryset</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Default is to allow empty querysets.&nbsp; This can be altered by setting</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># `.allow_empty = False`, to raise 404 errors on empty querysets.</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>allow_empty</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object_list</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;The `allow_empty` parameter is due to be deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;To use `allow_empty=False` style behavior, You should override &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;`get_queryset()` and explicitly raise a 404 on empty querysets.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>PendingDeprecationWarning</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>class_name</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>.</span><span class='nam'>__name__</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>error_msg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>empty_error</span> <span class='op'>%</span> <span class='op'>{</span><span class='str'>&#39;class_name&#39;</span><span class='op'>:</span> <span class='nam'>class_name</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>Http404</span><span class='op'>(</span><span class='nam'>error_msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Switch between paginated or standard style responses</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>page</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>paginate_queryset</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>object_list</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>page</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>serializer</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_pagination_serializer</span><span class='op'>(</span><span class='nam'>page</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>serializer</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_serializer</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>object_list</span><span class='op'>,</span> <span class='nam'>many</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>RetrieveModelMixin</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='pln'><span class='str'>&nbsp; &nbsp; Retrieve a model instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>retrieve</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_object</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>serializer</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_serializer</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>UpdateModelMixin</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='pln'><span class='str'>&nbsp; &nbsp; Update a model instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>update</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>partial</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;partial&#39;</span><span class='op'>,</span> <span class='nam'>False</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_object_or_none</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>created</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>save_kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='str'>&#39;force_insert&#39;</span><span class='op'>:</span> <span class='nam'>True</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>success_status_code</span> <span class='op'>=</span> <span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_201_CREATED</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>created</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>save_kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='str'>&#39;force_update&#39;</span><span class='op'>:</span> <span class='nam'>True</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>success_status_code</span> <span class='op'>=</span> <span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_200_OK</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>serializer</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_serializer</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>DATA</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>files</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>FILES</span><span class='op'>,</span> <span class='nam'>partial</span><span class='op'>=</span><span class='nam'>partial</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>is_valid</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>pre_save</span><span class='op'>(</span><span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>object</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span> <span class='op'>=</span> <span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>save</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>save_kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>post_save</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span><span class='op'>,</span> <span class='nam'>created</span><span class='op'>=</span><span class='nam'>created</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>status</span><span class='op'>=</span><span class='nam'>success_status_code</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>errors</span><span class='op'>,</span> <span class='nam'>status</span><span class='op'>=</span><span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_400_BAD_REQUEST</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>partial_update</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;partial&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_object_or_none</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_object</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>Http404</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If this is a PUT-as-create operation, we need to ensure that</span><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># we have relevant permissions, as if this was a POST request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># This will either raise a PermissionDenied exception,</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># or simply return None</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>check_permissions</span><span class='op'>(</span><span class='nam'>clone_request</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>request</span><span class='op'>,</span> <span class='str'>&#39;POST&#39;</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>pre_save</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Set any attributes on the object that are implicit in the request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># pk and/or slug attributes are implicit in the URL.</span><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lookup</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>pk</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>pk_url_kwarg</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>slug</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_url_kwarg</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>slug_field</span> <span class='op'>=</span> <span class='nam'>slug</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span> <span class='key'>or</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>lookup</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>setattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>,</span> <span class='nam'>lookup</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>pk</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>setattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='str'>&#39;pk&#39;</span><span class='op'>,</span> <span class='nam'>pk</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>slug</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>setattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>slug_field</span><span class='op'>,</span> <span class='nam'>slug</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Ensure we clean the attributes so that we don&#39;t eg return integer</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># pk using a string representation, as provided by the url conf kwarg.</span><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='str'>&#39;full_clean&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>exclude</span> <span class='op'>=</span> <span class='nam'>_get_validation_exclusions</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>pk</span><span class='op'>,</span> <span class='nam'>slug_field</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>full_clean</span><span class='op'>(</span><span class='nam'>exclude</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>DestroyModelMixin</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='pln'><span class='str'>&nbsp; &nbsp; Destroy a model instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>destroy</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>obj</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_object</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>delete</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='nam'>status</span><span class='op'>=</span><span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_204_NO_CONTENT</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_models.html b/htmlcov/rest_framework_models.html
deleted file mode 100644
index 6786c620..00000000
--- a/htmlcov/rest_framework_models.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/models: 100%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/models</b> :
- <span class='pc_cov'>100%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 0 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>0 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>0 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='com'># Just to keep things like ./manage.py test happy</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_negotiation.html b/htmlcov/rest_framework_negotiation.html
deleted file mode 100644
index 7ed526c9..00000000
--- a/htmlcov/rest_framework_negotiation.html
+++ /dev/null
@@ -1,259 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/negotiation: 90%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/negotiation</b> :
- <span class='pc_cov'>90%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 41 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>37 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>4 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='stm run hide_run'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm mis'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='stm mis'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='stm run hide_run'><a href='#n29'>29</a></p>
-<p id='n30' class='stm run hide_run'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='stm mis'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='stm run hide_run'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='stm run hide_run'><a href='#n40'>40</a></p>
-<p id='n41' class='stm run hide_run'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='stm run hide_run'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='stm run hide_run'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='stm run hide_run'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='stm run hide_run'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='pln'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='stm run hide_run'><a href='#n67'>67</a></p>
-<p id='n68' class='pln'><a href='#n68'>68</a></p>
-<p id='n69' class='stm run hide_run'><a href='#n69'>69</a></p>
-<p id='n70' class='pln'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='stm run hide_run'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='stm run hide_run'><a href='#n76'>76</a></p>
-<p id='n77' class='stm mis'><a href='#n77'>77</a></p>
-<p id='n78' class='stm run hide_run'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='stm run hide_run'><a href='#n80'>80</a></p>
-<p id='n81' class='pln'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='pln'><a href='#n85'>85</a></p>
-<p id='n86' class='pln'><a href='#n86'>86</a></p>
-<p id='n87' class='stm run hide_run'><a href='#n87'>87</a></p>
-<p id='n88' class='stm run hide_run'><a href='#n88'>88</a></p>
-<p id='n89' class='stm run hide_run'><a href='#n89'>89</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Content negotiation deals with selecting an appropriate renderer given the</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>incoming request.&nbsp; Typically this will be based on the request&#39;s Accept header.</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>http</span> <span class='key'>import</span> <span class='nam'>Http404</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>exceptions</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>settings</span> <span class='key'>import</span> <span class='nam'>api_settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>mediatypes</span> <span class='key'>import</span> <span class='nam'>order_by_precedence</span><span class='op'>,</span> <span class='nam'>media_type_matches</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>mediatypes</span> <span class='key'>import</span> <span class='nam'>_MediaType</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BaseContentNegotiation</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>select_parser</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>parsers</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>NotImplementedError</span><span class='op'>(</span><span class='str'>&#39;.select_parser() must be implemented&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>select_renderer</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>renderers</span><span class='op'>,</span> <span class='nam'>format_suffix</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>NotImplementedError</span><span class='op'>(</span><span class='str'>&#39;.select_renderer() must be implemented&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>DefaultContentNegotiation</span><span class='op'>(</span><span class='nam'>BaseContentNegotiation</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>settings</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>select_parser</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>parsers</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given a list of parsers and a media type, return the appropriate</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; parser to handle the incoming request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>parser</span> <span class='key'>in</span> <span class='nam'>parsers</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>media_type_matches</span><span class='op'>(</span><span class='nam'>parser</span><span class='op'>.</span><span class='nam'>media_type</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>content_type</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>parser</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>select_renderer</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>renderers</span><span class='op'>,</span> <span class='nam'>format_suffix</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given a request and a list of renderers, return a two-tuple of:</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; (renderer, media type).</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Allow URL style format override.&nbsp; eg. &quot;?format=json</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>format_query_param</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>settings</span><span class='op'>.</span><span class='nam'>URL_FORMAT_OVERRIDE</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>format_suffix</span> <span class='key'>or</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>QUERY_PARAMS</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>format_query_param</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>format</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>renderers</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>filter_renderers</span><span class='op'>(</span><span class='nam'>renderers</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>accepts</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_accept_list</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Check the acceptable media types against each renderer,</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># attempting more specific media types first</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># NB. The inner loop here isn&#39;t as bad as it first looks :)</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'>#&nbsp; &nbsp;&nbsp; Worst case is we&#39;re looping over len(accept_list) * len(self.renderers)</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>media_type_set</span> <span class='key'>in</span> <span class='nam'>order_by_precedence</span><span class='op'>(</span><span class='nam'>accepts</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>renderer</span> <span class='key'>in</span> <span class='nam'>renderers</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>media_type</span> <span class='key'>in</span> <span class='nam'>media_type_set</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>media_type_matches</span><span class='op'>(</span><span class='nam'>renderer</span><span class='op'>.</span><span class='nam'>media_type</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Return the most specific media type as accepted.</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='op'>(</span><span class='nam'>_MediaType</span><span class='op'>(</span><span class='nam'>renderer</span><span class='op'>.</span><span class='nam'>media_type</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>precedence</span> <span class='op'>&gt;</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>_MediaType</span><span class='op'>(</span><span class='nam'>media_type</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>precedence</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Eg client requests &#39;*/*&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Accepted media type is &#39;application/json&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>renderer</span><span class='op'>,</span> <span class='nam'>renderer</span><span class='op'>.</span><span class='nam'>media_type</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Eg client requests &#39;application/json; indent=8&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Accepted media type is &#39;application/json; indent=8&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>renderer</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>NotAcceptable</span><span class='op'>(</span><span class='nam'>available_renderers</span><span class='op'>=</span><span class='nam'>renderers</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>filter_renderers</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>renderers</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If there is a &#39;.json&#39; style format suffix, filter the renderers</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; so that we only negotiation against those that accept that format.</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>renderers</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>renderer</span> <span class='key'>for</span> <span class='nam'>renderer</span> <span class='key'>in</span> <span class='nam'>renderers</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='key'>if</span> <span class='nam'>renderer</span><span class='op'>.</span><span class='nam'>format</span> <span class='op'>==</span> <span class='nam'>format</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>renderers</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>Http404</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>renderers</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_accept_list</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given the incoming request, return a tokenised list of media</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; type strings.</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Allows URL style accept override.&nbsp; eg. &quot;?accept=application/json&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>header</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>META</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;HTTP_ACCEPT&#39;</span><span class='op'>,</span> <span class='str'>&#39;*/*&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>header</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>QUERY_PARAMS</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>settings</span><span class='op'>.</span><span class='nam'>URL_ACCEPT_OVERRIDE</span><span class='op'>,</span> <span class='nam'>header</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>token</span><span class='op'>.</span><span class='nam'>strip</span><span class='op'>(</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>token</span> <span class='key'>in</span> <span class='nam'>header</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='str'>&#39;,&#39;</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_pagination.html b/htmlcov/rest_framework_pagination.html
deleted file mode 100644
index 5a3f76d8..00000000
--- a/htmlcov/rest_framework_pagination.html
+++ /dev/null
@@ -1,269 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/pagination: 100%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/pagination</b> :
- <span class='pc_cov'>100%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 43 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>43 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>0 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='stm run hide_run'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='pln'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='stm run hide_run'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='stm run hide_run'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='stm run hide_run'><a href='#n32'>32</a></p>
-<p id='n33' class='stm run hide_run'><a href='#n33'>33</a></p>
-<p id='n34' class='stm run hide_run'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='stm run hide_run'><a href='#n36'>36</a></p>
-<p id='n37' class='stm run hide_run'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='stm run hide_run'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='stm run hide_run'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='stm run hide_run'><a href='#n58'>58</a></p>
-<p id='n59' class='stm run hide_run'><a href='#n59'>59</a></p>
-<p id='n60' class='stm run hide_run'><a href='#n60'>60</a></p>
-<p id='n61' class='pln'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='pln'><a href='#n63'>63</a></p>
-<p id='n64' class='stm run hide_run'><a href='#n64'>64</a></p>
-<p id='n65' class='pln'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='pln'><a href='#n68'>68</a></p>
-<p id='n69' class='stm run hide_run'><a href='#n69'>69</a></p>
-<p id='n70' class='stm run hide_run'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='stm run hide_run'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='stm run hide_run'><a href='#n76'>76</a></p>
-<p id='n77' class='stm run hide_run'><a href='#n77'>77</a></p>
-<p id='n78' class='stm run hide_run'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='stm run hide_run'><a href='#n80'>80</a></p>
-<p id='n81' class='stm run hide_run'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='stm run hide_run'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='stm run hide_run'><a href='#n85'>85</a></p>
-<p id='n86' class='pln'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='stm run hide_run'><a href='#n88'>88</a></p>
-<p id='n89' class='pln'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='pln'><a href='#n91'>91</a></p>
-<p id='n92' class='stm run hide_run'><a href='#n92'>92</a></p>
-<p id='n93' class='stm run hide_run'><a href='#n93'>93</a></p>
-<p id='n94' class='stm run hide_run'><a href='#n94'>94</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Pagination serializers determine the structure of the output that should</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>be used for paginated responses.</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>serializers</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>templatetags</span><span class='op'>.</span><span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>replace_query_param</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>NextPageField</span><span class='op'>(</span><span class='nam'>serializers</span><span class='op'>.</span><span class='nam'>Field</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'><span class='str'>&nbsp; &nbsp; Field that returns a link to the next page in paginated results.</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>page_field</span> <span class='op'>=</span> <span class='str'>&#39;page&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>has_next</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>page</span> <span class='op'>=</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>next_page_number</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;request&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>url</span> <span class='op'>=</span> <span class='nam'>request</span> <span class='key'>and</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>build_absolute_uri</span><span class='op'>(</span><span class='op'>)</span> <span class='key'>or</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>replace_query_param</span><span class='op'>(</span><span class='nam'>url</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>page_field</span><span class='op'>,</span> <span class='nam'>page</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>PreviousPageField</span><span class='op'>(</span><span class='nam'>serializers</span><span class='op'>.</span><span class='nam'>Field</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='str'>&nbsp; &nbsp; Field that returns a link to the previous page in paginated results.</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>page_field</span> <span class='op'>=</span> <span class='str'>&#39;page&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>has_previous</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>page</span> <span class='op'>=</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>previous_page_number</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;request&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>url</span> <span class='op'>=</span> <span class='nam'>request</span> <span class='key'>and</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>build_absolute_uri</span><span class='op'>(</span><span class='op'>)</span> <span class='key'>or</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>replace_query_param</span><span class='op'>(</span><span class='nam'>url</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>page_field</span><span class='op'>,</span> <span class='nam'>page</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>DefaultObjectSerializer</span><span class='op'>(</span><span class='nam'>serializers</span><span class='op'>.</span><span class='nam'>Field</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='str'>&nbsp; &nbsp; If no object serializer is specified, then this serializer will be applied</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'><span class='str'>&nbsp; &nbsp; as the default.</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>source</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Note: Swallow context kwarg - only required for eg. ModelSerializer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>DefaultObjectSerializer</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>source</span><span class='op'>=</span><span class='nam'>source</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>PaginationSerializerOptions</span><span class='op'>(</span><span class='nam'>serializers</span><span class='op'>.</span><span class='nam'>SerializerOptions</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'><span class='str'>&nbsp; &nbsp; An object that stores the options that may be provided to a</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'><span class='str'>&nbsp; &nbsp; pagination serializer by using the inner `Meta` class.</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'><span class='str'>&nbsp; &nbsp; Accessible on the instance as `serializer.opts`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>meta</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>PaginationSerializerOptions</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object_serializer_class</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>,</span> <span class='str'>&#39;object_serializer_class&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>DefaultObjectSerializer</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BasePaginationSerializer</span><span class='op'>(</span><span class='nam'>serializers</span><span class='op'>.</span><span class='nam'>Serializer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'><span class='str'>&nbsp; &nbsp; A base class for pagination serializers to inherit from,</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'><span class='str'>&nbsp; &nbsp; to make implementing custom serializers more easy.</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>_options_class</span> <span class='op'>=</span> <span class='nam'>PaginationSerializerOptions</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>results_field</span> <span class='op'>=</span> <span class='str'>&#39;results&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Override init to add in the object serializer field on-the-fly.</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>BasePaginationSerializer</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>results_field</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>results_field</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>object_serializer</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>object_serializer_class</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='str'>&#39;context&#39;</span> <span class='key'>in</span> <span class='nam'>kwargs</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>context_kwarg</span> <span class='op'>=</span> <span class='op'>{</span><span class='str'>&#39;context&#39;</span><span class='op'>:</span> <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;context&#39;</span><span class='op'>]</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>context_kwarg</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>[</span><span class='nam'>results_field</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>object_serializer</span><span class='op'>(</span><span class='nam'>source</span><span class='op'>=</span><span class='str'>&#39;object_list&#39;</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>context_kwarg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>PaginationSerializer</span><span class='op'>(</span><span class='nam'>BasePaginationSerializer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'><span class='str'>&nbsp; &nbsp; A default implementation of a pagination serializer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>count</span> <span class='op'>=</span> <span class='nam'>serializers</span><span class='op'>.</span><span class='nam'>Field</span><span class='op'>(</span><span class='nam'>source</span><span class='op'>=</span><span class='str'>&#39;paginator.count&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>next</span> <span class='op'>=</span> <span class='nam'>NextPageField</span><span class='op'>(</span><span class='nam'>source</span><span class='op'>=</span><span class='str'>&#39;*&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>previous</span> <span class='op'>=</span> <span class='nam'>PreviousPageField</span><span class='op'>(</span><span class='nam'>source</span><span class='op'>=</span><span class='str'>&#39;*&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_parsers.html b/htmlcov/rest_framework_parsers.html
deleted file mode 100644
index 92f1db62..00000000
--- a/htmlcov/rest_framework_parsers.html
+++ /dev/null
@@ -1,671 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/parsers: 92%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/parsers</b> :
- <span class='pc_cov'>92%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 153 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>140 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>13 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='stm run hide_run'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='stm run hide_run'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='stm mis'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='stm run hide_run'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='stm run hide_run'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='stm run hide_run'><a href='#n58'>58</a></p>
-<p id='n59' class='stm run hide_run'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='stm run hide_run'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='stm run hide_run'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='stm run hide_run'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='pln'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='stm run hide_run'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='stm run hide_run'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='pln'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='pln'><a href='#n81'>81</a></p>
-<p id='n82' class='stm run hide_run'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='stm run hide_run'><a href='#n84'>84</a></p>
-<p id='n85' class='stm run hide_run'><a href='#n85'>85</a></p>
-<p id='n86' class='pln'><a href='#n86'>86</a></p>
-<p id='n87' class='stm run hide_run'><a href='#n87'>87</a></p>
-<p id='n88' class='stm run hide_run'><a href='#n88'>88</a></p>
-<p id='n89' class='stm run hide_run'><a href='#n89'>89</a></p>
-<p id='n90' class='stm mis'><a href='#n90'>90</a></p>
-<p id='n91' class='stm mis'><a href='#n91'>91</a></p>
-<p id='n92' class='pln'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='stm run hide_run'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='pln'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='stm run hide_run'><a href='#n99'>99</a></p>
-<p id='n100' class='pln'><a href='#n100'>100</a></p>
-<p id='n101' class='stm run hide_run'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='pln'><a href='#n103'>103</a></p>
-<p id='n104' class='pln'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='pln'><a href='#n106'>106</a></p>
-<p id='n107' class='pln'><a href='#n107'>107</a></p>
-<p id='n108' class='stm run hide_run'><a href='#n108'>108</a></p>
-<p id='n109' class='stm run hide_run'><a href='#n109'>109</a></p>
-<p id='n110' class='stm run hide_run'><a href='#n110'>110</a></p>
-<p id='n111' class='stm run hide_run'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='stm run hide_run'><a href='#n114'>114</a></p>
-<p id='n115' class='pln'><a href='#n115'>115</a></p>
-<p id='n116' class='pln'><a href='#n116'>116</a></p>
-<p id='n117' class='pln'><a href='#n117'>117</a></p>
-<p id='n118' class='pln'><a href='#n118'>118</a></p>
-<p id='n119' class='stm run hide_run'><a href='#n119'>119</a></p>
-<p id='n120' class='pln'><a href='#n120'>120</a></p>
-<p id='n121' class='stm run hide_run'><a href='#n121'>121</a></p>
-<p id='n122' class='pln'><a href='#n122'>122</a></p>
-<p id='n123' class='pln'><a href='#n123'>123</a></p>
-<p id='n124' class='pln'><a href='#n124'>124</a></p>
-<p id='n125' class='pln'><a href='#n125'>125</a></p>
-<p id='n126' class='pln'><a href='#n126'>126</a></p>
-<p id='n127' class='pln'><a href='#n127'>127</a></p>
-<p id='n128' class='stm run hide_run'><a href='#n128'>128</a></p>
-<p id='n129' class='stm run hide_run'><a href='#n129'>129</a></p>
-<p id='n130' class='stm run hide_run'><a href='#n130'>130</a></p>
-<p id='n131' class='stm run hide_run'><a href='#n131'>131</a></p>
-<p id='n132' class='stm run hide_run'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='stm run hide_run'><a href='#n134'>134</a></p>
-<p id='n135' class='stm run hide_run'><a href='#n135'>135</a></p>
-<p id='n136' class='stm run hide_run'><a href='#n136'>136</a></p>
-<p id='n137' class='stm run hide_run'><a href='#n137'>137</a></p>
-<p id='n138' class='stm mis'><a href='#n138'>138</a></p>
-<p id='n139' class='stm mis'><a href='#n139'>139</a></p>
-<p id='n140' class='pln'><a href='#n140'>140</a></p>
-<p id='n141' class='pln'><a href='#n141'>141</a></p>
-<p id='n142' class='stm run hide_run'><a href='#n142'>142</a></p>
-<p id='n143' class='pln'><a href='#n143'>143</a></p>
-<p id='n144' class='pln'><a href='#n144'>144</a></p>
-<p id='n145' class='pln'><a href='#n145'>145</a></p>
-<p id='n146' class='pln'><a href='#n146'>146</a></p>
-<p id='n147' class='stm run hide_run'><a href='#n147'>147</a></p>
-<p id='n148' class='pln'><a href='#n148'>148</a></p>
-<p id='n149' class='stm run hide_run'><a href='#n149'>149</a></p>
-<p id='n150' class='stm run hide_run'><a href='#n150'>150</a></p>
-<p id='n151' class='pln'><a href='#n151'>151</a></p>
-<p id='n152' class='stm run hide_run'><a href='#n152'>152</a></p>
-<p id='n153' class='stm run hide_run'><a href='#n153'>153</a></p>
-<p id='n154' class='stm run hide_run'><a href='#n154'>154</a></p>
-<p id='n155' class='stm run hide_run'><a href='#n155'>155</a></p>
-<p id='n156' class='stm run hide_run'><a href='#n156'>156</a></p>
-<p id='n157' class='stm mis'><a href='#n157'>157</a></p>
-<p id='n158' class='stm mis'><a href='#n158'>158</a></p>
-<p id='n159' class='stm run hide_run'><a href='#n159'>159</a></p>
-<p id='n160' class='pln'><a href='#n160'>160</a></p>
-<p id='n161' class='stm run hide_run'><a href='#n161'>161</a></p>
-<p id='n162' class='pln'><a href='#n162'>162</a></p>
-<p id='n163' class='stm run hide_run'><a href='#n163'>163</a></p>
-<p id='n164' class='pln'><a href='#n164'>164</a></p>
-<p id='n165' class='pln'><a href='#n165'>165</a></p>
-<p id='n166' class='pln'><a href='#n166'>166</a></p>
-<p id='n167' class='pln'><a href='#n167'>167</a></p>
-<p id='n168' class='stm run hide_run'><a href='#n168'>168</a></p>
-<p id='n169' class='pln'><a href='#n169'>169</a></p>
-<p id='n170' class='stm run hide_run'><a href='#n170'>170</a></p>
-<p id='n171' class='stm run hide_run'><a href='#n171'>171</a></p>
-<p id='n172' class='pln'><a href='#n172'>172</a></p>
-<p id='n173' class='pln'><a href='#n173'>173</a></p>
-<p id='n174' class='stm run hide_run'><a href='#n174'>174</a></p>
-<p id='n175' class='stm run hide_run'><a href='#n175'>175</a></p>
-<p id='n176' class='stm run hide_run'><a href='#n176'>176</a></p>
-<p id='n177' class='stm run hide_run'><a href='#n177'>177</a></p>
-<p id='n178' class='pln'><a href='#n178'>178</a></p>
-<p id='n179' class='stm run hide_run'><a href='#n179'>179</a></p>
-<p id='n180' class='stm run hide_run'><a href='#n180'>180</a></p>
-<p id='n181' class='stm run hide_run'><a href='#n181'>181</a></p>
-<p id='n182' class='pln'><a href='#n182'>182</a></p>
-<p id='n183' class='stm run hide_run'><a href='#n183'>183</a></p>
-<p id='n184' class='pln'><a href='#n184'>184</a></p>
-<p id='n185' class='stm run hide_run'><a href='#n185'>185</a></p>
-<p id='n186' class='pln'><a href='#n186'>186</a></p>
-<p id='n187' class='pln'><a href='#n187'>187</a></p>
-<p id='n188' class='pln'><a href='#n188'>188</a></p>
-<p id='n189' class='pln'><a href='#n189'>189</a></p>
-<p id='n190' class='stm run hide_run'><a href='#n190'>190</a></p>
-<p id='n191' class='stm run hide_run'><a href='#n191'>191</a></p>
-<p id='n192' class='pln'><a href='#n192'>192</a></p>
-<p id='n193' class='stm run hide_run'><a href='#n193'>193</a></p>
-<p id='n194' class='stm run hide_run'><a href='#n194'>194</a></p>
-<p id='n195' class='stm run hide_run'><a href='#n195'>195</a></p>
-<p id='n196' class='stm run hide_run'><a href='#n196'>196</a></p>
-<p id='n197' class='pln'><a href='#n197'>197</a></p>
-<p id='n198' class='stm run hide_run'><a href='#n198'>198</a></p>
-<p id='n199' class='stm run hide_run'><a href='#n199'>199</a></p>
-<p id='n200' class='stm run hide_run'><a href='#n200'>200</a></p>
-<p id='n201' class='stm run hide_run'><a href='#n201'>201</a></p>
-<p id='n202' class='pln'><a href='#n202'>202</a></p>
-<p id='n203' class='stm run hide_run'><a href='#n203'>203</a></p>
-<p id='n204' class='stm run hide_run'><a href='#n204'>204</a></p>
-<p id='n205' class='stm run hide_run'><a href='#n205'>205</a></p>
-<p id='n206' class='stm run hide_run'><a href='#n206'>206</a></p>
-<p id='n207' class='pln'><a href='#n207'>207</a></p>
-<p id='n208' class='stm run hide_run'><a href='#n208'>208</a></p>
-<p id='n209' class='pln'><a href='#n209'>209</a></p>
-<p id='n210' class='pln'><a href='#n210'>210</a></p>
-<p id='n211' class='stm run hide_run'><a href='#n211'>211</a></p>
-<p id='n212' class='pln'><a href='#n212'>212</a></p>
-<p id='n213' class='pln'><a href='#n213'>213</a></p>
-<p id='n214' class='pln'><a href='#n214'>214</a></p>
-<p id='n215' class='stm run hide_run'><a href='#n215'>215</a></p>
-<p id='n216' class='pln'><a href='#n216'>216</a></p>
-<p id='n217' class='stm run hide_run'><a href='#n217'>217</a></p>
-<p id='n218' class='pln'><a href='#n218'>218</a></p>
-<p id='n219' class='pln'><a href='#n219'>219</a></p>
-<p id='n220' class='pln'><a href='#n220'>220</a></p>
-<p id='n221' class='pln'><a href='#n221'>221</a></p>
-<p id='n222' class='pln'><a href='#n222'>222</a></p>
-<p id='n223' class='pln'><a href='#n223'>223</a></p>
-<p id='n224' class='pln'><a href='#n224'>224</a></p>
-<p id='n225' class='stm run hide_run'><a href='#n225'>225</a></p>
-<p id='n226' class='stm run hide_run'><a href='#n226'>226</a></p>
-<p id='n227' class='stm run hide_run'><a href='#n227'>227</a></p>
-<p id='n228' class='stm run hide_run'><a href='#n228'>228</a></p>
-<p id='n229' class='stm run hide_run'><a href='#n229'>229</a></p>
-<p id='n230' class='stm run hide_run'><a href='#n230'>230</a></p>
-<p id='n231' class='pln'><a href='#n231'>231</a></p>
-<p id='n232' class='pln'><a href='#n232'>232</a></p>
-<p id='n233' class='pln'><a href='#n233'>233</a></p>
-<p id='n234' class='stm run hide_run'><a href='#n234'>234</a></p>
-<p id='n235' class='pln'><a href='#n235'>235</a></p>
-<p id='n236' class='stm run hide_run'><a href='#n236'>236</a></p>
-<p id='n237' class='stm run hide_run'><a href='#n237'>237</a></p>
-<p id='n238' class='pln'><a href='#n238'>238</a></p>
-<p id='n239' class='stm mis'><a href='#n239'>239</a></p>
-<p id='n240' class='stm mis'><a href='#n240'>240</a></p>
-<p id='n241' class='pln'><a href='#n241'>241</a></p>
-<p id='n242' class='pln'><a href='#n242'>242</a></p>
-<p id='n243' class='stm run hide_run'><a href='#n243'>243</a></p>
-<p id='n244' class='stm run hide_run'><a href='#n244'>244</a></p>
-<p id='n245' class='pln'><a href='#n245'>245</a></p>
-<p id='n246' class='pln'><a href='#n246'>246</a></p>
-<p id='n247' class='pln'><a href='#n247'>247</a></p>
-<p id='n248' class='pln'><a href='#n248'>248</a></p>
-<p id='n249' class='stm run hide_run'><a href='#n249'>249</a></p>
-<p id='n250' class='stm mis'><a href='#n250'>250</a></p>
-<p id='n251' class='pln'><a href='#n251'>251</a></p>
-<p id='n252' class='pln'><a href='#n252'>252</a></p>
-<p id='n253' class='stm run hide_run'><a href='#n253'>253</a></p>
-<p id='n254' class='stm run hide_run'><a href='#n254'>254</a></p>
-<p id='n255' class='stm run hide_run'><a href='#n255'>255</a></p>
-<p id='n256' class='stm run hide_run'><a href='#n256'>256</a></p>
-<p id='n257' class='pln'><a href='#n257'>257</a></p>
-<p id='n258' class='stm run hide_run'><a href='#n258'>258</a></p>
-<p id='n259' class='stm run hide_run'><a href='#n259'>259</a></p>
-<p id='n260' class='stm run hide_run'><a href='#n260'>260</a></p>
-<p id='n261' class='pln'><a href='#n261'>261</a></p>
-<p id='n262' class='stm run hide_run'><a href='#n262'>262</a></p>
-<p id='n263' class='stm run hide_run'><a href='#n263'>263</a></p>
-<p id='n264' class='pln'><a href='#n264'>264</a></p>
-<p id='n265' class='stm run hide_run'><a href='#n265'>265</a></p>
-<p id='n266' class='stm run hide_run'><a href='#n266'>266</a></p>
-<p id='n267' class='stm run hide_run'><a href='#n267'>267</a></p>
-<p id='n268' class='stm run hide_run'><a href='#n268'>268</a></p>
-<p id='n269' class='stm run hide_run'><a href='#n269'>269</a></p>
-<p id='n270' class='stm run hide_run'><a href='#n270'>270</a></p>
-<p id='n271' class='stm run hide_run'><a href='#n271'>271</a></p>
-<p id='n272' class='pln'><a href='#n272'>272</a></p>
-<p id='n273' class='stm run hide_run'><a href='#n273'>273</a></p>
-<p id='n274' class='stm run hide_run'><a href='#n274'>274</a></p>
-<p id='n275' class='stm run hide_run'><a href='#n275'>275</a></p>
-<p id='n276' class='stm run hide_run'><a href='#n276'>276</a></p>
-<p id='n277' class='stm mis'><a href='#n277'>277</a></p>
-<p id='n278' class='pln'><a href='#n278'>278</a></p>
-<p id='n279' class='pln'><a href='#n279'>279</a></p>
-<p id='n280' class='stm run hide_run'><a href='#n280'>280</a></p>
-<p id='n281' class='pln'><a href='#n281'>281</a></p>
-<p id='n282' class='pln'><a href='#n282'>282</a></p>
-<p id='n283' class='pln'><a href='#n283'>283</a></p>
-<p id='n284' class='pln'><a href='#n284'>284</a></p>
-<p id='n285' class='stm run hide_run'><a href='#n285'>285</a></p>
-<p id='n286' class='stm run hide_run'><a href='#n286'>286</a></p>
-<p id='n287' class='stm run hide_run'><a href='#n287'>287</a></p>
-<p id='n288' class='stm run hide_run'><a href='#n288'>288</a></p>
-<p id='n289' class='pln'><a href='#n289'>289</a></p>
-<p id='n290' class='stm run hide_run'><a href='#n290'>290</a></p>
-<p id='n291' class='stm run hide_run'><a href='#n291'>291</a></p>
-<p id='n292' class='stm run hide_run'><a href='#n292'>292</a></p>
-<p id='n293' class='stm run hide_run'><a href='#n293'>293</a></p>
-<p id='n294' class='stm mis'><a href='#n294'>294</a></p>
-<p id='n295' class='stm mis'><a href='#n295'>295</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Parsers are used to parse the content of incoming HTTP requests.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>They give us a generic way of being able to handle various media types</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>on the request, such as form content or json encoded data.</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>conf</span> <span class='key'>import</span> <span class='nam'>settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>files</span><span class='op'>.</span><span class='nam'>uploadhandler</span> <span class='key'>import</span> <span class='nam'>StopFutureHandlers</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>http</span> <span class='key'>import</span> <span class='nam'>QueryDict</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>http</span><span class='op'>.</span><span class='nam'>multipartparser</span> <span class='key'>import</span> <span class='nam'>MultiPartParser</span> <span class='key'>as</span> <span class='nam'>DjangoMultiPartParser</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>http</span><span class='op'>.</span><span class='nam'>multipartparser</span> <span class='key'>import</span> <span class='nam'>MultiPartParserError</span><span class='op'>,</span> <span class='nam'>parse_header</span><span class='op'>,</span> <span class='nam'>ChunkIter</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>yaml</span><span class='op'>,</span> <span class='nam'>etree</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>exceptions</span> <span class='key'>import</span> <span class='nam'>ParseError</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>six</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>json</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>datetime</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>decimal</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>DataAndFiles</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>data</span> <span class='op'>=</span> <span class='nam'>data</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>files</span> <span class='op'>=</span> <span class='nam'>files</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BaseParser</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'><span class='str'>&nbsp; &nbsp; All parsers should extend `BaseParser`, specifying a `media_type`</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'><span class='str'>&nbsp; &nbsp; attribute, and overriding the `.parse()` method.</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>parse</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>parser_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given a stream to read from, return the parsed representation.</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Should return parsed data, or a `DataAndFiles` object consisting of the</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; parsed data and files.</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>NotImplementedError</span><span class='op'>(</span><span class='str'>&quot;.parse() must be overridden.&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>JSONParser</span><span class='op'>(</span><span class='nam'>BaseParser</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='str'>&nbsp; &nbsp; Parses JSON-serialized data.</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='str'>&#39;application/json&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>parse</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>parser_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a 2-tuple of `(data, files)`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; `data` will be an object which is the parsed content of the response.</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; `files` will always be `None`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parser_context</span> <span class='op'>=</span> <span class='nam'>parser_context</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>encoding</span> <span class='op'>=</span> <span class='nam'>parser_context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;encoding&#39;</span><span class='op'>,</span> <span class='nam'>settings</span><span class='op'>.</span><span class='nam'>DEFAULT_CHARSET</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>data</span> <span class='op'>=</span> <span class='nam'>stream</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>decode</span><span class='op'>(</span><span class='nam'>encoding</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>json</span><span class='op'>.</span><span class='nam'>loads</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ValueError</span> <span class='key'>as</span> <span class='nam'>exc</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ParseError</span><span class='op'>(</span><span class='str'>&#39;JSON parse error - %s&#39;</span> <span class='op'>%</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>text_type</span><span class='op'>(</span><span class='nam'>exc</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>YAMLParser</span><span class='op'>(</span><span class='nam'>BaseParser</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='pln'><span class='str'>&nbsp; &nbsp; Parses YAML-serialized data.</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='str'>&#39;application/yaml&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>parse</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>parser_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a 2-tuple of `(data, files)`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; `data` will be an object which is the parsed content of the response.</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; `files` will always be `None`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>yaml</span><span class='op'>,</span> <span class='str'>&#39;YAMLParser requires pyyaml to be installed&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parser_context</span> <span class='op'>=</span> <span class='nam'>parser_context</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>encoding</span> <span class='op'>=</span> <span class='nam'>parser_context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;encoding&#39;</span><span class='op'>,</span> <span class='nam'>settings</span><span class='op'>.</span><span class='nam'>DEFAULT_CHARSET</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>data</span> <span class='op'>=</span> <span class='nam'>stream</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>decode</span><span class='op'>(</span><span class='nam'>encoding</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>yaml</span><span class='op'>.</span><span class='nam'>safe_load</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>ValueError</span><span class='op'>,</span> <span class='nam'>yaml</span><span class='op'>.</span><span class='nam'>parser</span><span class='op'>.</span><span class='nam'>ParserError</span><span class='op'>)</span> <span class='key'>as</span> <span class='nam'>exc</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ParseError</span><span class='op'>(</span><span class='str'>&#39;YAML parse error - %s&#39;</span> <span class='op'>%</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>u</span><span class='op'>(</span><span class='nam'>exc</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>FormParser</span><span class='op'>(</span><span class='nam'>BaseParser</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='pln'><span class='str'>&nbsp; &nbsp; Parser for form data.</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='str'>&#39;application/x-www-form-urlencoded&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>parse</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>parser_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a 2-tuple of `(data, files)`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; `data` will be a :class:`QueryDict` containing all the form parameters.</span><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; `files` will always be :const:`None`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parser_context</span> <span class='op'>=</span> <span class='nam'>parser_context</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>encoding</span> <span class='op'>=</span> <span class='nam'>parser_context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;encoding&#39;</span><span class='op'>,</span> <span class='nam'>settings</span><span class='op'>.</span><span class='nam'>DEFAULT_CHARSET</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>data</span> <span class='op'>=</span> <span class='nam'>QueryDict</span><span class='op'>(</span><span class='nam'>stream</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>=</span><span class='nam'>encoding</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>data</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>MultiPartParser</span><span class='op'>(</span><span class='nam'>BaseParser</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='pln'><span class='str'>&nbsp; &nbsp; Parser for multipart form data, which may include file data.</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='str'>&#39;multipart/form-data&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>parse</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>parser_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a DataAndFiles object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; `.data` will be a `QueryDict` containing all the form parameters.</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; `.files` will be a `QueryDict` containing all the form files.</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parser_context</span> <span class='op'>=</span> <span class='nam'>parser_context</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>parser_context</span><span class='op'>[</span><span class='str'>&#39;request&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>encoding</span> <span class='op'>=</span> <span class='nam'>parser_context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;encoding&#39;</span><span class='op'>,</span> <span class='nam'>settings</span><span class='op'>.</span><span class='nam'>DEFAULT_CHARSET</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>meta</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>META</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>upload_handlers</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>upload_handlers</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parser</span> <span class='op'>=</span> <span class='nam'>DjangoMultiPartParser</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>,</span> <span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>upload_handlers</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span> <span class='op'>=</span> <span class='nam'>parser</span><span class='op'>.</span><span class='nam'>parse</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>DataAndFiles</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>MultiPartParserError</span> <span class='key'>as</span> <span class='nam'>exc</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ParseError</span><span class='op'>(</span><span class='str'>&#39;Multipart form parse error - %s&#39;</span> <span class='op'>%</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>u</span><span class='op'>(</span><span class='nam'>exc</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>XMLParser</span><span class='op'>(</span><span class='nam'>BaseParser</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='pln'><span class='str'>&nbsp; &nbsp; XML parser.</span><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='str'>&#39;application/xml&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>parse</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>parser_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>etree</span><span class='op'>,</span> <span class='str'>&#39;XMLParser requires defusedxml to be installed&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parser_context</span> <span class='op'>=</span> <span class='nam'>parser_context</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>encoding</span> <span class='op'>=</span> <span class='nam'>parser_context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;encoding&#39;</span><span class='op'>,</span> <span class='nam'>settings</span><span class='op'>.</span><span class='nam'>DEFAULT_CHARSET</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parser</span> <span class='op'>=</span> <span class='nam'>etree</span><span class='op'>.</span><span class='nam'>DefusedXMLParser</span><span class='op'>(</span><span class='nam'>encoding</span><span class='op'>=</span><span class='nam'>encoding</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>tree</span> <span class='op'>=</span> <span class='nam'>etree</span><span class='op'>.</span><span class='nam'>parse</span><span class='op'>(</span><span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>parser</span><span class='op'>=</span><span class='nam'>parser</span><span class='op'>,</span> <span class='nam'>forbid_dtd</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>etree</span><span class='op'>.</span><span class='nam'>ParseError</span><span class='op'>,</span> <span class='nam'>ValueError</span><span class='op'>)</span> <span class='key'>as</span> <span class='nam'>exc</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ParseError</span><span class='op'>(</span><span class='str'>&#39;XML parse error - %s&#39;</span> <span class='op'>%</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>u</span><span class='op'>(</span><span class='nam'>exc</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>data</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_xml_convert</span><span class='op'>(</span><span class='nam'>tree</span><span class='op'>.</span><span class='nam'>getroot</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>data</span><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_xml_convert</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>element</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; convert the xml `element` into the corresponding python object</span><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>children</span> <span class='op'>=</span> <span class='nam'>list</span><span class='op'>(</span><span class='nam'>element</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>children</span><span class='op'>)</span> <span class='op'>==</span> <span class='num'>0</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_type_convert</span><span class='op'>(</span><span class='nam'>element</span><span class='op'>.</span><span class='nam'>text</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># if the fist child tag is list-item means all children are list-item</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>children</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>tag</span> <span class='op'>==</span> <span class='str'>&quot;list-item&quot;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>data</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>child</span> <span class='key'>in</span> <span class='nam'>children</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>data</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_xml_convert</span><span class='op'>(</span><span class='nam'>child</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>data</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>child</span> <span class='key'>in</span> <span class='nam'>children</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>data</span><span class='op'>[</span><span class='nam'>child</span><span class='op'>.</span><span class='nam'>tag</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_xml_convert</span><span class='op'>(</span><span class='nam'>child</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>data</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_type_convert</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Converts the value returned by the XMl parse into the equivalent</span><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Python type</span><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t193' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t194' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>strptime</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='str'>&#39;%Y-%m-%d %H:%M:%S&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t195' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ValueError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t196' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t197' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t198' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t199' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>int</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t200' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ValueError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t201' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t202' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t203' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t204' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>decimal</span><span class='op'>.</span><span class='nam'>Decimal</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t205' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>decimal</span><span class='op'>.</span><span class='nam'>InvalidOperation</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t206' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t207' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t208' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t209' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t210' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t211' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>FileUploadParser</span><span class='op'>(</span><span class='nam'>BaseParser</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t212' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t213' class='pln'><span class='str'>&nbsp; &nbsp; Parser for file upload data.</span><span class='strut'>&nbsp;</span></p>
-<p id='t214' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t215' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='str'>&#39;*/*&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t216' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t217' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>parse</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>parser_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t218' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t219' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a DataAndFiles object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t220' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t221' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; `.data` will be None (we expect request body to be a file content).</span><span class='strut'>&nbsp;</span></p>
-<p id='t222' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; `.files` will be a `QueryDict` containing one &#39;file&#39; element.</span><span class='strut'>&nbsp;</span></p>
-<p id='t223' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t224' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t225' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parser_context</span> <span class='op'>=</span> <span class='nam'>parser_context</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t226' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>parser_context</span><span class='op'>[</span><span class='str'>&#39;request&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t227' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>encoding</span> <span class='op'>=</span> <span class='nam'>parser_context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;encoding&#39;</span><span class='op'>,</span> <span class='nam'>settings</span><span class='op'>.</span><span class='nam'>DEFAULT_CHARSET</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t228' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>meta</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>META</span><span class='strut'>&nbsp;</span></p>
-<p id='t229' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>upload_handlers</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>upload_handlers</span><span class='strut'>&nbsp;</span></p>
-<p id='t230' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filename</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_filename</span><span class='op'>(</span><span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>,</span> <span class='nam'>parser_context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t231' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t232' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Note that this code is extracted from Django&#39;s handling of</span><span class='strut'>&nbsp;</span></p>
-<p id='t233' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># file uploads in MultiPartParser.</span><span class='strut'>&nbsp;</span></p>
-<p id='t234' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content_type</span> <span class='op'>=</span> <span class='nam'>meta</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;HTTP_CONTENT_TYPE&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t235' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>meta</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;CONTENT_TYPE&#39;</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t236' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t237' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content_length</span> <span class='op'>=</span> <span class='nam'>int</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;HTTP_CONTENT_LENGTH&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t238' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>meta</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;CONTENT_LENGTH&#39;</span><span class='op'>,</span> <span class='num'>0</span><span class='op'>)</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t239' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>ValueError</span><span class='op'>,</span> <span class='nam'>TypeError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t240' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content_length</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t241' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t242' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># See if the handler will want to take care of the parsing.</span><span class='strut'>&nbsp;</span></p>
-<p id='t243' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>handler</span> <span class='key'>in</span> <span class='nam'>upload_handlers</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t244' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>result</span> <span class='op'>=</span> <span class='nam'>handler</span><span class='op'>.</span><span class='nam'>handle_raw_input</span><span class='op'>(</span><span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t245' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>meta</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t246' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content_length</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t247' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t248' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>encoding</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t249' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>result</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t250' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>DataAndFiles</span><span class='op'>(</span><span class='nam'>None</span><span class='op'>,</span> <span class='op'>{</span><span class='str'>&#39;file&#39;</span><span class='op'>:</span> <span class='nam'>result</span><span class='op'>[</span><span class='num'>1</span><span class='op'>]</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t251' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t252' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># This is the standard case.</span><span class='strut'>&nbsp;</span></p>
-<p id='t253' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>possible_sizes</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>x</span><span class='op'>.</span><span class='nam'>chunk_size</span> <span class='key'>for</span> <span class='nam'>x</span> <span class='key'>in</span> <span class='nam'>upload_handlers</span> <span class='key'>if</span> <span class='nam'>x</span><span class='op'>.</span><span class='nam'>chunk_size</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t254' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>chunk_size</span> <span class='op'>=</span> <span class='nam'>min</span><span class='op'>(</span><span class='op'>[</span><span class='num'>2</span> <span class='op'>**</span> <span class='num'>31</span> <span class='op'>-</span> <span class='num'>4</span><span class='op'>]</span> <span class='op'>+</span> <span class='nam'>possible_sizes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t255' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>chunks</span> <span class='op'>=</span> <span class='nam'>ChunkIter</span><span class='op'>(</span><span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>chunk_size</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t256' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>counters</span> <span class='op'>=</span> <span class='op'>[</span><span class='num'>0</span><span class='op'>]</span> <span class='op'>*</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>upload_handlers</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t257' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t258' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>handler</span> <span class='key'>in</span> <span class='nam'>upload_handlers</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t259' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t260' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>handler</span><span class='op'>.</span><span class='nam'>new_file</span><span class='op'>(</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>filename</span><span class='op'>,</span> <span class='nam'>content_type</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t261' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>content_length</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t262' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>StopFutureHandlers</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t263' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>break</span><span class='strut'>&nbsp;</span></p>
-<p id='t264' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t265' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>chunk</span> <span class='key'>in</span> <span class='nam'>chunks</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t266' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>i</span><span class='op'>,</span> <span class='nam'>handler</span> <span class='key'>in</span> <span class='nam'>enumerate</span><span class='op'>(</span><span class='nam'>upload_handlers</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t267' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>chunk_length</span> <span class='op'>=</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>chunk</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t268' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>chunk</span> <span class='op'>=</span> <span class='nam'>handler</span><span class='op'>.</span><span class='nam'>receive_data_chunk</span><span class='op'>(</span><span class='nam'>chunk</span><span class='op'>,</span> <span class='nam'>counters</span><span class='op'>[</span><span class='nam'>i</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t269' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>counters</span><span class='op'>[</span><span class='nam'>i</span><span class='op'>]</span> <span class='op'>+=</span> <span class='nam'>chunk_length</span><span class='strut'>&nbsp;</span></p>
-<p id='t270' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>chunk</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t271' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>break</span><span class='strut'>&nbsp;</span></p>
-<p id='t272' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t273' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>i</span><span class='op'>,</span> <span class='nam'>handler</span> <span class='key'>in</span> <span class='nam'>enumerate</span><span class='op'>(</span><span class='nam'>upload_handlers</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t274' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>file_obj</span> <span class='op'>=</span> <span class='nam'>handler</span><span class='op'>.</span><span class='nam'>file_complete</span><span class='op'>(</span><span class='nam'>counters</span><span class='op'>[</span><span class='nam'>i</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t275' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>file_obj</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t276' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>DataAndFiles</span><span class='op'>(</span><span class='nam'>None</span><span class='op'>,</span> <span class='op'>{</span><span class='str'>&#39;file&#39;</span><span class='op'>:</span> <span class='nam'>file_obj</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t277' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ParseError</span><span class='op'>(</span><span class='str'>&quot;FileUpload parse error - &quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t278' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&quot;none of upload handlers can handle the stream&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t279' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t280' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_filename</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>,</span> <span class='nam'>parser_context</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t281' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t282' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Detects the uploaded file name. First searches a &#39;filename&#39; url kwarg.</span><span class='strut'>&nbsp;</span></p>
-<p id='t283' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Then tries to parse Content-Disposition header.</span><span class='strut'>&nbsp;</span></p>
-<p id='t284' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t285' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t286' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>parser_context</span><span class='op'>[</span><span class='str'>&#39;kwargs&#39;</span><span class='op'>]</span><span class='op'>[</span><span class='str'>&#39;filename&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t287' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>KeyError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t288' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t289' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t290' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t291' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>meta</span> <span class='op'>=</span> <span class='nam'>parser_context</span><span class='op'>[</span><span class='str'>&#39;request&#39;</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>META</span><span class='strut'>&nbsp;</span></p>
-<p id='t292' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>disposition</span> <span class='op'>=</span> <span class='nam'>parse_header</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>[</span><span class='str'>&#39;HTTP_CONTENT_DISPOSITION&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t293' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>disposition</span><span class='op'>[</span><span class='num'>1</span><span class='op'>]</span><span class='op'>[</span><span class='str'>&#39;filename&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t294' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>AttributeError</span><span class='op'>,</span> <span class='nam'>KeyError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t295' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_permissions.html b/htmlcov/rest_framework_permissions.html
deleted file mode 100644
index 20a29522..00000000
--- a/htmlcov/rest_framework_permissions.html
+++ /dev/null
@@ -1,429 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/permissions: 81%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/permissions</b> :
- <span class='pc_cov'>81%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 63 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>51 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>12 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='stm run hide_run'><a href='#n4'>4</a></p>
-<p id='n5' class='stm run hide_run'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='pln'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='stm run hide_run'><a href='#n28'>28</a></p>
-<p id='n29' class='stm mis'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='stm mis'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='stm run hide_run'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='stm run hide_run'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='stm run hide_run'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='stm run hide_run'><a href='#n55'>55</a></p>
-<p id='n56' class='stm run hide_run'><a href='#n56'>56</a></p>
-<p id='n57' class='stm run hide_run'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='stm run hide_run'><a href='#n60'>60</a></p>
-<p id='n61' class='pln'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='pln'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='stm mis'><a href='#n66'>66</a></p>
-<p id='n67' class='stm mis'><a href='#n67'>67</a></p>
-<p id='n68' class='stm mis'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='pln'><a href='#n70'>70</a></p>
-<p id='n71' class='stm run hide_run'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='stm run hide_run'><a href='#n76'>76</a></p>
-<p id='n77' class='stm mis'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='stm mis'><a href='#n80'>80</a></p>
-<p id='n81' class='stm mis'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='stm run hide_run'><a href='#n84'>84</a></p>
-<p id='n85' class='pln'><a href='#n85'>85</a></p>
-<p id='n86' class='pln'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='pln'><a href='#n88'>88</a></p>
-<p id='n89' class='pln'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='pln'><a href='#n91'>91</a></p>
-<p id='n92' class='pln'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='pln'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='pln'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='stm run hide_run'><a href='#n99'>99</a></p>
-<p id='n100' class='pln'><a href='#n100'>100</a></p>
-<p id='n101' class='pln'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='pln'><a href='#n103'>103</a></p>
-<p id='n104' class='pln'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='pln'><a href='#n106'>106</a></p>
-<p id='n107' class='pln'><a href='#n107'>107</a></p>
-<p id='n108' class='pln'><a href='#n108'>108</a></p>
-<p id='n109' class='stm run hide_run'><a href='#n109'>109</a></p>
-<p id='n110' class='pln'><a href='#n110'>110</a></p>
-<p id='n111' class='stm run hide_run'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='pln'><a href='#n114'>114</a></p>
-<p id='n115' class='pln'><a href='#n115'>115</a></p>
-<p id='n116' class='stm run hide_run'><a href='#n116'>116</a></p>
-<p id='n117' class='pln'><a href='#n117'>117</a></p>
-<p id='n118' class='pln'><a href='#n118'>118</a></p>
-<p id='n119' class='pln'><a href='#n119'>119</a></p>
-<p id='n120' class='stm run hide_run'><a href='#n120'>120</a></p>
-<p id='n121' class='pln'><a href='#n121'>121</a></p>
-<p id='n122' class='stm run hide_run'><a href='#n122'>122</a></p>
-<p id='n123' class='stm run hide_run'><a href='#n123'>123</a></p>
-<p id='n124' class='stm run hide_run'><a href='#n124'>124</a></p>
-<p id='n125' class='pln'><a href='#n125'>125</a></p>
-<p id='n126' class='stm run hide_run'><a href='#n126'>126</a></p>
-<p id='n127' class='stm mis'><a href='#n127'>127</a></p>
-<p id='n128' class='pln'><a href='#n128'>128</a></p>
-<p id='n129' class='pln'><a href='#n129'>129</a></p>
-<p id='n130' class='pln'><a href='#n130'>130</a></p>
-<p id='n131' class='stm run hide_run'><a href='#n131'>131</a></p>
-<p id='n132' class='stm mis'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='stm run hide_run'><a href='#n134'>134</a></p>
-<p id='n135' class='pln'><a href='#n135'>135</a></p>
-<p id='n136' class='pln'><a href='#n136'>136</a></p>
-<p id='n137' class='stm run hide_run'><a href='#n137'>137</a></p>
-<p id='n138' class='pln'><a href='#n138'>138</a></p>
-<p id='n139' class='stm run hide_run'><a href='#n139'>139</a></p>
-<p id='n140' class='pln'><a href='#n140'>140</a></p>
-<p id='n141' class='pln'><a href='#n141'>141</a></p>
-<p id='n142' class='stm run hide_run'><a href='#n142'>142</a></p>
-<p id='n143' class='stm run hide_run'><a href='#n143'>143</a></p>
-<p id='n144' class='pln'><a href='#n144'>144</a></p>
-<p id='n145' class='pln'><a href='#n145'>145</a></p>
-<p id='n146' class='stm run hide_run'><a href='#n146'>146</a></p>
-<p id='n147' class='pln'><a href='#n147'>147</a></p>
-<p id='n148' class='pln'><a href='#n148'>148</a></p>
-<p id='n149' class='pln'><a href='#n149'>149</a></p>
-<p id='n150' class='pln'><a href='#n150'>150</a></p>
-<p id='n151' class='stm run hide_run'><a href='#n151'>151</a></p>
-<p id='n152' class='pln'><a href='#n152'>152</a></p>
-<p id='n153' class='pln'><a href='#n153'>153</a></p>
-<p id='n154' class='stm run hide_run'><a href='#n154'>154</a></p>
-<p id='n155' class='pln'><a href='#n155'>155</a></p>
-<p id='n156' class='pln'><a href='#n156'>156</a></p>
-<p id='n157' class='pln'><a href='#n157'>157</a></p>
-<p id='n158' class='pln'><a href='#n158'>158</a></p>
-<p id='n159' class='stm run hide_run'><a href='#n159'>159</a></p>
-<p id='n160' class='stm run hide_run'><a href='#n160'>160</a></p>
-<p id='n161' class='stm run hide_run'><a href='#n161'>161</a></p>
-<p id='n162' class='pln'><a href='#n162'>162</a></p>
-<p id='n163' class='stm run hide_run'><a href='#n163'>163</a></p>
-<p id='n164' class='stm mis'><a href='#n164'>164</a></p>
-<p id='n165' class='pln'><a href='#n165'>165</a></p>
-<p id='n166' class='stm run hide_run'><a href='#n166'>166</a></p>
-<p id='n167' class='stm run hide_run'><a href='#n167'>167</a></p>
-<p id='n168' class='stm run hide_run'><a href='#n168'>168</a></p>
-<p id='n169' class='stm run hide_run'><a href='#n169'>169</a></p>
-<p id='n170' class='stm run hide_run'><a href='#n170'>170</a></p>
-<p id='n171' class='pln'><a href='#n171'>171</a></p>
-<p id='n172' class='stm mis'><a href='#n172'>172</a></p>
-<p id='n173' class='pln'><a href='#n173'>173</a></p>
-<p id='n174' class='pln'><a href='#n174'>174</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Provides a set of pluggable permission policies.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>inspect</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>warnings</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='nam'>SAFE_METHODS</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;GET&#39;</span><span class='op'>,</span> <span class='str'>&#39;HEAD&#39;</span><span class='op'>,</span> <span class='str'>&#39;OPTIONS&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>oauth2_provider_scope</span><span class='op'>,</span> <span class='nam'>oauth2_constants</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BasePermission</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='str'>&nbsp; &nbsp; A base class from which all permission classes should inherit.</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>has_permission</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return `True` if permission is granted, `False` otherwise.</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>has_object_permission</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return `True` if permission is granted, `False` otherwise.</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>inspect</span><span class='op'>.</span><span class='nam'>getargspec</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>has_permission</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>args</span><span class='op'>)</span> <span class='op'>==</span> <span class='num'>4</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;The `obj` argument in `has_permission` is deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Use `has_object_permission()` instead for object permissions.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>DeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>has_permission</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>AllowAny</span><span class='op'>(</span><span class='nam'>BasePermission</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'><span class='str'>&nbsp; &nbsp; Allow any access.</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'><span class='str'>&nbsp; &nbsp; This isn&#39;t strictly required, since you could use an empty</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='str'>&nbsp; &nbsp; permission_classes list, but it&#39;s useful because it makes the intention</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'><span class='str'>&nbsp; &nbsp; more explicit.</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>has_permission</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>IsAuthenticated</span><span class='op'>(</span><span class='nam'>BasePermission</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'><span class='str'>&nbsp; &nbsp; Allows access only to authenticated users.</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>has_permission</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span> <span class='key'>and</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span><span class='op'>.</span><span class='nam'>is_authenticated</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>IsAdminUser</span><span class='op'>(</span><span class='nam'>BasePermission</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'><span class='str'>&nbsp; &nbsp; Allows access only to admin users.</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>has_permission</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span> <span class='key'>and</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span><span class='op'>.</span><span class='nam'>is_staff</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>IsAuthenticatedOrReadOnly</span><span class='op'>(</span><span class='nam'>BasePermission</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'><span class='str'>&nbsp; &nbsp; The request is authenticated as a user, or is a read-only request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>has_permission</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='op'>(</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>method</span> <span class='key'>in</span> <span class='nam'>SAFE_METHODS</span> <span class='key'>or</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span> <span class='key'>and</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span><span class='op'>.</span><span class='nam'>is_authenticated</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>DjangoModelPermissions</span><span class='op'>(</span><span class='nam'>BasePermission</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='pln'><span class='str'>&nbsp; &nbsp; The request is authenticated using `django.contrib.auth` permissions.</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'><span class='str'>&nbsp; &nbsp; See: https://docs.djangoproject.com/en/dev/topics/auth/#permissions</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='pln'><span class='str'>&nbsp; &nbsp; It ensures that the user is authenticated, and has the appropriate</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'><span class='str'>&nbsp; &nbsp; `add`/`change`/`delete` permissions on the model.</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='pln'><span class='str'>&nbsp; &nbsp; This permission can only be applied against view classes that</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'><span class='str'>&nbsp; &nbsp; provide a `.model` or `.queryset` attribute.</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='pln'>&nbsp; &nbsp; <span class='com'># Map methods into required permission codes.</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'>&nbsp; &nbsp; <span class='com'># Override this if you need to also provide &#39;view&#39; permissions,</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'>&nbsp; &nbsp; <span class='com'># or if you want to provide custom permission codes.</span><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>perms_map</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;GET&#39;</span><span class='op'>:</span> <span class='op'>[</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;OPTIONS&#39;</span><span class='op'>:</span> <span class='op'>[</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;HEAD&#39;</span><span class='op'>:</span> <span class='op'>[</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;POST&#39;</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;%(app_label)s.add_%(model_name)s&#39;</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;PUT&#39;</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;%(app_label)s.change_%(model_name)s&#39;</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;PATCH&#39;</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;%(app_label)s.change_%(model_name)s&#39;</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;DELETE&#39;</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;%(app_label)s.delete_%(model_name)s&#39;</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>authenticated_users_only</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_required_permissions</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>model_cls</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given a model and an HTTP method, return the list of permission</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; codes that the user is required to have.</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;app_label&#39;</span><span class='op'>:</span> <span class='nam'>model_cls</span><span class='op'>.</span><span class='nam'>_meta</span><span class='op'>.</span><span class='nam'>app_label</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;model_name&#39;</span><span class='op'>:</span> <span class='nam'>model_cls</span><span class='op'>.</span><span class='nam'>_meta</span><span class='op'>.</span><span class='nam'>module_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>perm</span> <span class='op'>%</span> <span class='nam'>kwargs</span> <span class='key'>for</span> <span class='nam'>perm</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>perms_map</span><span class='op'>[</span><span class='nam'>method</span><span class='op'>]</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>has_permission</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>model_cls</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;model&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;queryset&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>model_cls</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>queryset</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>model_cls</span> <span class='op'>=</span> <span class='nam'>queryset</span><span class='op'>.</span><span class='nam'>model</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Workaround to ensure DjangoModelPermissions are not applied</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># to the root view when using DefaultRouter.</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>model_cls</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;_ignore_model_permissions&#39;</span><span class='op'>,</span> <span class='nam'>False</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>model_cls</span><span class='op'>,</span> <span class='op'>(</span><span class='str'>&#39;Cannot apply DjangoModelPermissions on a view that&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&#39; does not have `.model` or `.queryset` property.&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>perms</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_required_permissions</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>method</span><span class='op'>,</span> <span class='nam'>model_cls</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='op'>(</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span> <span class='key'>and</span><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>(</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span><span class='op'>.</span><span class='nam'>is_authenticated</span><span class='op'>(</span><span class='op'>)</span> <span class='key'>or</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>authenticated_users_only</span><span class='op'>)</span> <span class='key'>and</span><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span><span class='op'>.</span><span class='nam'>has_perms</span><span class='op'>(</span><span class='nam'>perms</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>DjangoModelPermissionsOrAnonReadOnly</span><span class='op'>(</span><span class='nam'>DjangoModelPermissions</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='pln'><span class='str'>&nbsp; &nbsp; Similar to DjangoModelPermissions, except that anonymous users are</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='pln'><span class='str'>&nbsp; &nbsp; allowed read-only access.</span><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>authenticated_users_only</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>TokenHasReadWriteScope</span><span class='op'>(</span><span class='nam'>BasePermission</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='pln'><span class='str'>&nbsp; &nbsp; The request is authenticated as a user and the token used has the right scope</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>has_permission</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>token</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>auth</span><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>read_only</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>method</span> <span class='key'>in</span> <span class='nam'>SAFE_METHODS</span><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>token</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>token</span><span class='op'>,</span> <span class='str'>&#39;resource&#39;</span><span class='op'>)</span><span class='op'>:</span>&nbsp; <span class='com'># OAuth 1</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>read_only</span> <span class='key'>or</span> <span class='key'>not</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>auth</span><span class='op'>.</span><span class='nam'>resource</span><span class='op'>.</span><span class='nam'>is_readonly</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>token</span><span class='op'>,</span> <span class='str'>&#39;scope&#39;</span><span class='op'>)</span><span class='op'>:</span>&nbsp; <span class='com'># OAuth 2</span><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>required</span> <span class='op'>=</span> <span class='nam'>oauth2_constants</span><span class='op'>.</span><span class='nam'>READ</span> <span class='key'>if</span> <span class='nam'>read_only</span> <span class='key'>else</span> <span class='nam'>oauth2_constants</span><span class='op'>.</span><span class='nam'>WRITE</span><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>oauth2_provider_scope</span><span class='op'>.</span><span class='nam'>check</span><span class='op'>(</span><span class='nam'>required</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>auth</span><span class='op'>.</span><span class='nam'>scope</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>False</span><span class='op'>,</span> <span class='op'>(</span><span class='str'>&#39;TokenHasReadWriteScope requires either the&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;`OAuthAuthentication` or `OAuth2Authentication` authentication &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;class to be used.&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_relations.html b/htmlcov/rest_framework_relations.html
deleted file mode 100644
index 29ad3cf6..00000000
--- a/htmlcov/rest_framework_relations.html
+++ /dev/null
@@ -1,1347 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/relations: 76%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/relations</b> :
- <span class='pc_cov'>76%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 365 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>277 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>88 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='stm run hide_run'><a href='#n32'>32</a></p>
-<p id='n33' class='stm run hide_run'><a href='#n33'>33</a></p>
-<p id='n34' class='stm run hide_run'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='stm run hide_run'><a href='#n37'>37</a></p>
-<p id='n38' class='stm run hide_run'><a href='#n38'>38</a></p>
-<p id='n39' class='stm run hide_run'><a href='#n39'>39</a></p>
-<p id='n40' class='stm run hide_run'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='stm run hide_run'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='stm mis'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='stm mis'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='stm run hide_run'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='stm run hide_run'><a href='#n57'>57</a></p>
-<p id='n58' class='stm run hide_run'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='stm run hide_run'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='stm run hide_run'><a href='#n66'>66</a></p>
-<p id='n67' class='stm run hide_run'><a href='#n67'>67</a></p>
-<p id='n68' class='stm run hide_run'><a href='#n68'>68</a></p>
-<p id='n69' class='stm run hide_run'><a href='#n69'>69</a></p>
-<p id='n70' class='stm run hide_run'><a href='#n70'>70</a></p>
-<p id='n71' class='stm run hide_run'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='stm run hide_run'><a href='#n73'>73</a></p>
-<p id='n74' class='stm mis'><a href='#n74'>74</a></p>
-<p id='n75' class='stm mis'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='stm mis'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='stm run hide_run'><a href='#n81'>81</a></p>
-<p id='n82' class='stm mis'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='stm run hide_run'><a href='#n84'>84</a></p>
-<p id='n85' class='pln'><a href='#n85'>85</a></p>
-<p id='n86' class='pln'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='stm mis'><a href='#n88'>88</a></p>
-<p id='n89' class='stm mis'><a href='#n89'>89</a></p>
-<p id='n90' class='stm mis'><a href='#n90'>90</a></p>
-<p id='n91' class='stm mis'><a href='#n91'>91</a></p>
-<p id='n92' class='stm mis'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='stm run hide_run'><a href='#n94'>94</a></p>
-<p id='n95' class='stm run hide_run'><a href='#n95'>95</a></p>
-<p id='n96' class='pln'><a href='#n96'>96</a></p>
-<p id='n97' class='stm run hide_run'><a href='#n97'>97</a></p>
-<p id='n98' class='stm run hide_run'><a href='#n98'>98</a></p>
-<p id='n99' class='stm run hide_run'><a href='#n99'>99</a></p>
-<p id='n100' class='pln'><a href='#n100'>100</a></p>
-<p id='n101' class='stm run hide_run'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='stm run hide_run'><a href='#n103'>103</a></p>
-<p id='n104' class='pln'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='stm run hide_run'><a href='#n106'>106</a></p>
-<p id='n107' class='stm mis'><a href='#n107'>107</a></p>
-<p id='n108' class='pln'><a href='#n108'>108</a></p>
-<p id='n109' class='pln'><a href='#n109'>109</a></p>
-<p id='n110' class='pln'><a href='#n110'>110</a></p>
-<p id='n111' class='pln'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='pln'><a href='#n114'>114</a></p>
-<p id='n115' class='pln'><a href='#n115'>115</a></p>
-<p id='n116' class='stm run hide_run'><a href='#n116'>116</a></p>
-<p id='n117' class='pln'><a href='#n117'>117</a></p>
-<p id='n118' class='stm run hide_run'><a href='#n118'>118</a></p>
-<p id='n119' class='pln'><a href='#n119'>119</a></p>
-<p id='n120' class='pln'><a href='#n120'>120</a></p>
-<p id='n121' class='pln'><a href='#n121'>121</a></p>
-<p id='n122' class='stm mis'><a href='#n122'>122</a></p>
-<p id='n123' class='pln'><a href='#n123'>123</a></p>
-<p id='n124' class='stm run hide_run'><a href='#n124'>124</a></p>
-<p id='n125' class='pln'><a href='#n125'>125</a></p>
-<p id='n126' class='pln'><a href='#n126'>126</a></p>
-<p id='n127' class='pln'><a href='#n127'>127</a></p>
-<p id='n128' class='stm run hide_run'><a href='#n128'>128</a></p>
-<p id='n129' class='stm run hide_run'><a href='#n129'>129</a></p>
-<p id='n130' class='stm run hide_run'><a href='#n130'>130</a></p>
-<p id='n131' class='stm mis'><a href='#n131'>131</a></p>
-<p id='n132' class='pln'><a href='#n132'>132</a></p>
-<p id='n133' class='stm run hide_run'><a href='#n133'>133</a></p>
-<p id='n134' class='stm run hide_run'><a href='#n134'>134</a></p>
-<p id='n135' class='pln'><a href='#n135'>135</a></p>
-<p id='n136' class='stm run hide_run'><a href='#n136'>136</a></p>
-<p id='n137' class='stm run hide_run'><a href='#n137'>137</a></p>
-<p id='n138' class='stm run hide_run'><a href='#n138'>138</a></p>
-<p id='n139' class='stm run hide_run'><a href='#n139'>139</a></p>
-<p id='n140' class='stm run hide_run'><a href='#n140'>140</a></p>
-<p id='n141' class='stm run hide_run'><a href='#n141'>141</a></p>
-<p id='n142' class='pln'><a href='#n142'>142</a></p>
-<p id='n143' class='stm run hide_run'><a href='#n143'>143</a></p>
-<p id='n144' class='stm run hide_run'><a href='#n144'>144</a></p>
-<p id='n145' class='pln'><a href='#n145'>145</a></p>
-<p id='n146' class='stm run hide_run'><a href='#n146'>146</a></p>
-<p id='n147' class='stm run hide_run'><a href='#n147'>147</a></p>
-<p id='n148' class='stm run hide_run'><a href='#n148'>148</a></p>
-<p id='n149' class='pln'><a href='#n149'>149</a></p>
-<p id='n150' class='pln'><a href='#n150'>150</a></p>
-<p id='n151' class='pln'><a href='#n151'>151</a></p>
-<p id='n152' class='stm run hide_run'><a href='#n152'>152</a></p>
-<p id='n153' class='stm run hide_run'><a href='#n153'>153</a></p>
-<p id='n154' class='pln'><a href='#n154'>154</a></p>
-<p id='n155' class='stm run hide_run'><a href='#n155'>155</a></p>
-<p id='n156' class='stm run hide_run'><a href='#n156'>156</a></p>
-<p id='n157' class='stm run hide_run'><a href='#n157'>157</a></p>
-<p id='n158' class='pln'><a href='#n158'>158</a></p>
-<p id='n159' class='stm run hide_run'><a href='#n159'>159</a></p>
-<p id='n160' class='stm run hide_run'><a href='#n160'>160</a></p>
-<p id='n161' class='stm run hide_run'><a href='#n161'>161</a></p>
-<p id='n162' class='pln'><a href='#n162'>162</a></p>
-<p id='n163' class='stm run hide_run'><a href='#n163'>163</a></p>
-<p id='n164' class='stm run hide_run'><a href='#n164'>164</a></p>
-<p id='n165' class='stm run hide_run'><a href='#n165'>165</a></p>
-<p id='n166' class='stm run hide_run'><a href='#n166'>166</a></p>
-<p id='n167' class='pln'><a href='#n167'>167</a></p>
-<p id='n168' class='stm run hide_run'><a href='#n168'>168</a></p>
-<p id='n169' class='pln'><a href='#n169'>169</a></p>
-<p id='n170' class='stm run hide_run'><a href='#n170'>170</a></p>
-<p id='n171' class='stm run hide_run'><a href='#n171'>171</a></p>
-<p id='n172' class='stm run hide_run'><a href='#n172'>172</a></p>
-<p id='n173' class='stm run hide_run'><a href='#n173'>173</a></p>
-<p id='n174' class='stm run hide_run'><a href='#n174'>174</a></p>
-<p id='n175' class='pln'><a href='#n175'>175</a></p>
-<p id='n176' class='stm run hide_run'><a href='#n176'>176</a></p>
-<p id='n177' class='stm run hide_run'><a href='#n177'>177</a></p>
-<p id='n178' class='stm run hide_run'><a href='#n178'>178</a></p>
-<p id='n179' class='stm run hide_run'><a href='#n179'>179</a></p>
-<p id='n180' class='stm run hide_run'><a href='#n180'>180</a></p>
-<p id='n181' class='stm run hide_run'><a href='#n181'>181</a></p>
-<p id='n182' class='pln'><a href='#n182'>182</a></p>
-<p id='n183' class='stm run hide_run'><a href='#n183'>183</a></p>
-<p id='n184' class='pln'><a href='#n184'>184</a></p>
-<p id='n185' class='pln'><a href='#n185'>185</a></p>
-<p id='n186' class='pln'><a href='#n186'>186</a></p>
-<p id='n187' class='pln'><a href='#n187'>187</a></p>
-<p id='n188' class='stm run hide_run'><a href='#n188'>188</a></p>
-<p id='n189' class='pln'><a href='#n189'>189</a></p>
-<p id='n190' class='pln'><a href='#n190'>190</a></p>
-<p id='n191' class='pln'><a href='#n191'>191</a></p>
-<p id='n192' class='stm run hide_run'><a href='#n192'>192</a></p>
-<p id='n193' class='pln'><a href='#n193'>193</a></p>
-<p id='n194' class='stm run hide_run'><a href='#n194'>194</a></p>
-<p id='n195' class='pln'><a href='#n195'>195</a></p>
-<p id='n196' class='pln'><a href='#n196'>196</a></p>
-<p id='n197' class='pln'><a href='#n197'>197</a></p>
-<p id='n198' class='pln'><a href='#n198'>198</a></p>
-<p id='n199' class='pln'><a href='#n199'>199</a></p>
-<p id='n200' class='stm run hide_run'><a href='#n200'>200</a></p>
-<p id='n201' class='stm run hide_run'><a href='#n201'>201</a></p>
-<p id='n202' class='pln'><a href='#n202'>202</a></p>
-<p id='n203' class='stm run hide_run'><a href='#n203'>203</a></p>
-<p id='n204' class='pln'><a href='#n204'>204</a></p>
-<p id='n205' class='pln'><a href='#n205'>205</a></p>
-<p id='n206' class='pln'><a href='#n206'>206</a></p>
-<p id='n207' class='stm run hide_run'><a href='#n207'>207</a></p>
-<p id='n208' class='stm run hide_run'><a href='#n208'>208</a></p>
-<p id='n209' class='stm run hide_run'><a href='#n209'>209</a></p>
-<p id='n210' class='stm mis'><a href='#n210'>210</a></p>
-<p id='n211' class='stm run hide_run'><a href='#n211'>211</a></p>
-<p id='n212' class='pln'><a href='#n212'>212</a></p>
-<p id='n213' class='pln'><a href='#n213'>213</a></p>
-<p id='n214' class='stm run hide_run'><a href='#n214'>214</a></p>
-<p id='n215' class='stm run hide_run'><a href='#n215'>215</a></p>
-<p id='n216' class='pln'><a href='#n216'>216</a></p>
-<p id='n217' class='stm run hide_run'><a href='#n217'>217</a></p>
-<p id='n218' class='stm run hide_run'><a href='#n218'>218</a></p>
-<p id='n219' class='stm mis'><a href='#n219'>219</a></p>
-<p id='n220' class='pln'><a href='#n220'>220</a></p>
-<p id='n221' class='stm run hide_run'><a href='#n221'>221</a></p>
-<p id='n222' class='stm run hide_run'><a href='#n222'>222</a></p>
-<p id='n223' class='stm run hide_run'><a href='#n223'>223</a></p>
-<p id='n224' class='stm mis'><a href='#n224'>224</a></p>
-<p id='n225' class='stm mis'><a href='#n225'>225</a></p>
-<p id='n226' class='stm run hide_run'><a href='#n226'>226</a></p>
-<p id='n227' class='stm run hide_run'><a href='#n227'>227</a></p>
-<p id='n228' class='stm run hide_run'><a href='#n228'>228</a></p>
-<p id='n229' class='stm run hide_run'><a href='#n229'>229</a></p>
-<p id='n230' class='pln'><a href='#n230'>230</a></p>
-<p id='n231' class='stm run hide_run'><a href='#n231'>231</a></p>
-<p id='n232' class='stm run hide_run'><a href='#n232'>232</a></p>
-<p id='n233' class='pln'><a href='#n233'>233</a></p>
-<p id='n234' class='pln'><a href='#n234'>234</a></p>
-<p id='n235' class='stm run hide_run'><a href='#n235'>235</a></p>
-<p id='n236' class='stm run hide_run'><a href='#n236'>236</a></p>
-<p id='n237' class='pln'><a href='#n237'>237</a></p>
-<p id='n238' class='stm run hide_run'><a href='#n238'>238</a></p>
-<p id='n239' class='stm run hide_run'><a href='#n239'>239</a></p>
-<p id='n240' class='stm run hide_run'><a href='#n240'>240</a></p>
-<p id='n241' class='stm run hide_run'><a href='#n241'>241</a></p>
-<p id='n242' class='stm run hide_run'><a href='#n242'>242</a></p>
-<p id='n243' class='pln'><a href='#n243'>243</a></p>
-<p id='n244' class='stm run hide_run'><a href='#n244'>244</a></p>
-<p id='n245' class='stm run hide_run'><a href='#n245'>245</a></p>
-<p id='n246' class='stm run hide_run'><a href='#n246'>246</a></p>
-<p id='n247' class='stm run hide_run'><a href='#n247'>247</a></p>
-<p id='n248' class='pln'><a href='#n248'>248</a></p>
-<p id='n249' class='pln'><a href='#n249'>249</a></p>
-<p id='n250' class='stm run hide_run'><a href='#n250'>250</a></p>
-<p id='n251' class='stm run hide_run'><a href='#n251'>251</a></p>
-<p id='n252' class='pln'><a href='#n252'>252</a></p>
-<p id='n253' class='pln'><a href='#n253'>253</a></p>
-<p id='n254' class='pln'><a href='#n254'>254</a></p>
-<p id='n255' class='stm run hide_run'><a href='#n255'>255</a></p>
-<p id='n256' class='pln'><a href='#n256'>256</a></p>
-<p id='n257' class='pln'><a href='#n257'>257</a></p>
-<p id='n258' class='stm run hide_run'><a href='#n258'>258</a></p>
-<p id='n259' class='pln'><a href='#n259'>259</a></p>
-<p id='n260' class='stm run hide_run'><a href='#n260'>260</a></p>
-<p id='n261' class='stm run hide_run'><a href='#n261'>261</a></p>
-<p id='n262' class='pln'><a href='#n262'>262</a></p>
-<p id='n263' class='stm run hide_run'><a href='#n263'>263</a></p>
-<p id='n264' class='stm run hide_run'><a href='#n264'>264</a></p>
-<p id='n265' class='stm run hide_run'><a href='#n265'>265</a></p>
-<p id='n266' class='stm run hide_run'><a href='#n266'>266</a></p>
-<p id='n267' class='pln'><a href='#n267'>267</a></p>
-<p id='n268' class='pln'><a href='#n268'>268</a></p>
-<p id='n269' class='stm run hide_run'><a href='#n269'>269</a></p>
-<p id='n270' class='pln'><a href='#n270'>270</a></p>
-<p id='n271' class='pln'><a href='#n271'>271</a></p>
-<p id='n272' class='pln'><a href='#n272'>272</a></p>
-<p id='n273' class='pln'><a href='#n273'>273</a></p>
-<p id='n274' class='pln'><a href='#n274'>274</a></p>
-<p id='n275' class='stm run hide_run'><a href='#n275'>275</a></p>
-<p id='n276' class='pln'><a href='#n276'>276</a></p>
-<p id='n277' class='pln'><a href='#n277'>277</a></p>
-<p id='n278' class='pln'><a href='#n278'>278</a></p>
-<p id='n279' class='stm run hide_run'><a href='#n279'>279</a></p>
-<p id='n280' class='pln'><a href='#n280'>280</a></p>
-<p id='n281' class='stm run hide_run'><a href='#n281'>281</a></p>
-<p id='n282' class='pln'><a href='#n282'>282</a></p>
-<p id='n283' class='pln'><a href='#n283'>283</a></p>
-<p id='n284' class='pln'><a href='#n284'>284</a></p>
-<p id='n285' class='pln'><a href='#n285'>285</a></p>
-<p id='n286' class='stm run hide_run'><a href='#n286'>286</a></p>
-<p id='n287' class='stm run hide_run'><a href='#n287'>287</a></p>
-<p id='n288' class='stm run hide_run'><a href='#n288'>288</a></p>
-<p id='n289' class='stm run hide_run'><a href='#n289'>289</a></p>
-<p id='n290' class='pln'><a href='#n290'>290</a></p>
-<p id='n291' class='stm run hide_run'><a href='#n291'>291</a></p>
-<p id='n292' class='stm run hide_run'><a href='#n292'>292</a></p>
-<p id='n293' class='pln'><a href='#n293'>293</a></p>
-<p id='n294' class='stm run hide_run'><a href='#n294'>294</a></p>
-<p id='n295' class='stm run hide_run'><a href='#n295'>295</a></p>
-<p id='n296' class='stm mis'><a href='#n296'>296</a></p>
-<p id='n297' class='pln'><a href='#n297'>297</a></p>
-<p id='n298' class='stm run hide_run'><a href='#n298'>298</a></p>
-<p id='n299' class='stm run hide_run'><a href='#n299'>299</a></p>
-<p id='n300' class='stm run hide_run'><a href='#n300'>300</a></p>
-<p id='n301' class='stm run hide_run'><a href='#n301'>301</a></p>
-<p id='n302' class='pln'><a href='#n302'>302</a></p>
-<p id='n303' class='stm run hide_run'><a href='#n303'>303</a></p>
-<p id='n304' class='stm run hide_run'><a href='#n304'>304</a></p>
-<p id='n305' class='stm run hide_run'><a href='#n305'>305</a></p>
-<p id='n306' class='pln'><a href='#n306'>306</a></p>
-<p id='n307' class='pln'><a href='#n307'>307</a></p>
-<p id='n308' class='pln'><a href='#n308'>308</a></p>
-<p id='n309' class='pln'><a href='#n309'>309</a></p>
-<p id='n310' class='stm run hide_run'><a href='#n310'>310</a></p>
-<p id='n311' class='pln'><a href='#n311'>311</a></p>
-<p id='n312' class='pln'><a href='#n312'>312</a></p>
-<p id='n313' class='pln'><a href='#n313'>313</a></p>
-<p id='n314' class='stm run hide_run'><a href='#n314'>314</a></p>
-<p id='n315' class='stm run hide_run'><a href='#n315'>315</a></p>
-<p id='n316' class='pln'><a href='#n316'>316</a></p>
-<p id='n317' class='stm run hide_run'><a href='#n317'>317</a></p>
-<p id='n318' class='pln'><a href='#n318'>318</a></p>
-<p id='n319' class='pln'><a href='#n319'>319</a></p>
-<p id='n320' class='pln'><a href='#n320'>320</a></p>
-<p id='n321' class='pln'><a href='#n321'>321</a></p>
-<p id='n322' class='pln'><a href='#n322'>322</a></p>
-<p id='n323' class='pln'><a href='#n323'>323</a></p>
-<p id='n324' class='pln'><a href='#n324'>324</a></p>
-<p id='n325' class='pln'><a href='#n325'>325</a></p>
-<p id='n326' class='stm run hide_run'><a href='#n326'>326</a></p>
-<p id='n327' class='stm run hide_run'><a href='#n327'>327</a></p>
-<p id='n328' class='stm run hide_run'><a href='#n328'>328</a></p>
-<p id='n329' class='pln'><a href='#n329'>329</a></p>
-<p id='n330' class='stm run hide_run'><a href='#n330'>330</a></p>
-<p id='n331' class='stm run hide_run'><a href='#n331'>331</a></p>
-<p id='n332' class='stm run hide_run'><a href='#n332'>332</a></p>
-<p id='n333' class='stm mis'><a href='#n333'>333</a></p>
-<p id='n334' class='stm mis'><a href='#n334'>334</a></p>
-<p id='n335' class='pln'><a href='#n335'>335</a></p>
-<p id='n336' class='stm run hide_run'><a href='#n336'>336</a></p>
-<p id='n337' class='stm run hide_run'><a href='#n337'>337</a></p>
-<p id='n338' class='pln'><a href='#n338'>338</a></p>
-<p id='n339' class='pln'><a href='#n339'>339</a></p>
-<p id='n340' class='stm run hide_run'><a href='#n340'>340</a></p>
-<p id='n341' class='stm mis'><a href='#n341'>341</a></p>
-<p id='n342' class='stm mis'><a href='#n342'>342</a></p>
-<p id='n343' class='stm run hide_run'><a href='#n343'>343</a></p>
-<p id='n344' class='stm run hide_run'><a href='#n344'>344</a></p>
-<p id='n345' class='stm run hide_run'><a href='#n345'>345</a></p>
-<p id='n346' class='stm run hide_run'><a href='#n346'>346</a></p>
-<p id='n347' class='stm run hide_run'><a href='#n347'>347</a></p>
-<p id='n348' class='stm run hide_run'><a href='#n348'>348</a></p>
-<p id='n349' class='pln'><a href='#n349'>349</a></p>
-<p id='n350' class='stm run hide_run'><a href='#n350'>350</a></p>
-<p id='n351' class='stm run hide_run'><a href='#n351'>351</a></p>
-<p id='n352' class='stm run hide_run'><a href='#n352'>352</a></p>
-<p id='n353' class='stm run hide_run'><a href='#n353'>353</a></p>
-<p id='n354' class='pln'><a href='#n354'>354</a></p>
-<p id='n355' class='stm run hide_run'><a href='#n355'>355</a></p>
-<p id='n356' class='pln'><a href='#n356'>356</a></p>
-<p id='n357' class='stm run hide_run'><a href='#n357'>357</a></p>
-<p id='n358' class='pln'><a href='#n358'>358</a></p>
-<p id='n359' class='pln'><a href='#n359'>359</a></p>
-<p id='n360' class='pln'><a href='#n360'>360</a></p>
-<p id='n361' class='pln'><a href='#n361'>361</a></p>
-<p id='n362' class='pln'><a href='#n362'>362</a></p>
-<p id='n363' class='pln'><a href='#n363'>363</a></p>
-<p id='n364' class='stm run hide_run'><a href='#n364'>364</a></p>
-<p id='n365' class='stm run hide_run'><a href='#n365'>365</a></p>
-<p id='n366' class='stm run hide_run'><a href='#n366'>366</a></p>
-<p id='n367' class='stm run hide_run'><a href='#n367'>367</a></p>
-<p id='n368' class='stm run hide_run'><a href='#n368'>368</a></p>
-<p id='n369' class='stm run hide_run'><a href='#n369'>369</a></p>
-<p id='n370' class='pln'><a href='#n370'>370</a></p>
-<p id='n371' class='stm run hide_run'><a href='#n371'>371</a></p>
-<p id='n372' class='pln'><a href='#n372'>372</a></p>
-<p id='n373' class='pln'><a href='#n373'>373</a></p>
-<p id='n374' class='stm mis'><a href='#n374'>374</a></p>
-<p id='n375' class='stm mis'><a href='#n375'>375</a></p>
-<p id='n376' class='stm mis'><a href='#n376'>376</a></p>
-<p id='n377' class='stm mis'><a href='#n377'>377</a></p>
-<p id='n378' class='stm mis'><a href='#n378'>378</a></p>
-<p id='n379' class='stm mis'><a href='#n379'>379</a></p>
-<p id='n380' class='pln'><a href='#n380'>380</a></p>
-<p id='n381' class='stm run hide_run'><a href='#n381'>381</a></p>
-<p id='n382' class='stm run hide_run'><a href='#n382'>382</a></p>
-<p id='n383' class='pln'><a href='#n383'>383</a></p>
-<p id='n384' class='stm run hide_run'><a href='#n384'>384</a></p>
-<p id='n385' class='stm run hide_run'><a href='#n385'>385</a></p>
-<p id='n386' class='stm run hide_run'><a href='#n386'>386</a></p>
-<p id='n387' class='stm run hide_run'><a href='#n387'>387</a></p>
-<p id='n388' class='pln'><a href='#n388'>388</a></p>
-<p id='n389' class='pln'><a href='#n389'>389</a></p>
-<p id='n390' class='pln'><a href='#n390'>390</a></p>
-<p id='n391' class='stm mis'><a href='#n391'>391</a></p>
-<p id='n392' class='pln'><a href='#n392'>392</a></p>
-<p id='n393' class='stm mis'><a href='#n393'>393</a></p>
-<p id='n394' class='stm run hide_run'><a href='#n394'>394</a></p>
-<p id='n395' class='stm mis'><a href='#n395'>395</a></p>
-<p id='n396' class='stm mis'><a href='#n396'>396</a></p>
-<p id='n397' class='pln'><a href='#n397'>397</a></p>
-<p id='n398' class='stm mis'><a href='#n398'>398</a></p>
-<p id='n399' class='pln'><a href='#n399'>399</a></p>
-<p id='n400' class='stm run hide_run'><a href='#n400'>400</a></p>
-<p id='n401' class='pln'><a href='#n401'>401</a></p>
-<p id='n402' class='pln'><a href='#n402'>402</a></p>
-<p id='n403' class='pln'><a href='#n403'>403</a></p>
-<p id='n404' class='pln'><a href='#n404'>404</a></p>
-<p id='n405' class='pln'><a href='#n405'>405</a></p>
-<p id='n406' class='pln'><a href='#n406'>406</a></p>
-<p id='n407' class='stm run hide_run'><a href='#n407'>407</a></p>
-<p id='n408' class='stm run hide_run'><a href='#n408'>408</a></p>
-<p id='n409' class='stm run hide_run'><a href='#n409'>409</a></p>
-<p id='n410' class='pln'><a href='#n410'>410</a></p>
-<p id='n411' class='stm run hide_run'><a href='#n411'>411</a></p>
-<p id='n412' class='stm run hide_run'><a href='#n412'>412</a></p>
-<p id='n413' class='stm run hide_run'><a href='#n413'>413</a></p>
-<p id='n414' class='stm mis'><a href='#n414'>414</a></p>
-<p id='n415' class='stm run hide_run'><a href='#n415'>415</a></p>
-<p id='n416' class='stm run hide_run'><a href='#n416'>416</a></p>
-<p id='n417' class='pln'><a href='#n417'>417</a></p>
-<p id='n418' class='stm mis'><a href='#n418'>418</a></p>
-<p id='n419' class='pln'><a href='#n419'>419</a></p>
-<p id='n420' class='stm run hide_run'><a href='#n420'>420</a></p>
-<p id='n421' class='pln'><a href='#n421'>421</a></p>
-<p id='n422' class='stm run hide_run'><a href='#n422'>422</a></p>
-<p id='n423' class='stm run hide_run'><a href='#n423'>423</a></p>
-<p id='n424' class='stm run hide_run'><a href='#n424'>424</a></p>
-<p id='n425' class='stm run hide_run'><a href='#n425'>425</a></p>
-<p id='n426' class='pln'><a href='#n426'>426</a></p>
-<p id='n427' class='stm run hide_run'><a href='#n427'>427</a></p>
-<p id='n428' class='stm mis'><a href='#n428'>428</a></p>
-<p id='n429' class='pln'><a href='#n429'>429</a></p>
-<p id='n430' class='pln'><a href='#n430'>430</a></p>
-<p id='n431' class='pln'><a href='#n431'>431</a></p>
-<p id='n432' class='pln'><a href='#n432'>432</a></p>
-<p id='n433' class='pln'><a href='#n433'>433</a></p>
-<p id='n434' class='stm mis'><a href='#n434'>434</a></p>
-<p id='n435' class='pln'><a href='#n435'>435</a></p>
-<p id='n436' class='pln'><a href='#n436'>436</a></p>
-<p id='n437' class='stm run hide_run'><a href='#n437'>437</a></p>
-<p id='n438' class='stm mis'><a href='#n438'>438</a></p>
-<p id='n439' class='pln'><a href='#n439'>439</a></p>
-<p id='n440' class='pln'><a href='#n440'>440</a></p>
-<p id='n441' class='stm run hide_run'><a href='#n441'>441</a></p>
-<p id='n442' class='stm run hide_run'><a href='#n442'>442</a></p>
-<p id='n443' class='stm mis'><a href='#n443'>443</a></p>
-<p id='n444' class='stm mis'><a href='#n444'>444</a></p>
-<p id='n445' class='pln'><a href='#n445'>445</a></p>
-<p id='n446' class='pln'><a href='#n446'>446</a></p>
-<p id='n447' class='pln'><a href='#n447'>447</a></p>
-<p id='n448' class='pln'><a href='#n448'>448</a></p>
-<p id='n449' class='pln'><a href='#n449'>449</a></p>
-<p id='n450' class='stm mis'><a href='#n450'>450</a></p>
-<p id='n451' class='pln'><a href='#n451'>451</a></p>
-<p id='n452' class='stm run hide_run'><a href='#n452'>452</a></p>
-<p id='n453' class='pln'><a href='#n453'>453</a></p>
-<p id='n454' class='pln'><a href='#n454'>454</a></p>
-<p id='n455' class='stm run hide_run'><a href='#n455'>455</a></p>
-<p id='n456' class='stm run hide_run'><a href='#n456'>456</a></p>
-<p id='n457' class='stm mis'><a href='#n457'>457</a></p>
-<p id='n458' class='pln'><a href='#n458'>458</a></p>
-<p id='n459' class='stm run hide_run'><a href='#n459'>459</a></p>
-<p id='n460' class='stm run hide_run'><a href='#n460'>460</a></p>
-<p id='n461' class='stm run hide_run'><a href='#n461'>461</a></p>
-<p id='n462' class='stm run hide_run'><a href='#n462'>462</a></p>
-<p id='n463' class='stm run hide_run'><a href='#n463'>463</a></p>
-<p id='n464' class='pln'><a href='#n464'>464</a></p>
-<p id='n465' class='stm run hide_run'><a href='#n465'>465</a></p>
-<p id='n466' class='pln'><a href='#n466'>466</a></p>
-<p id='n467' class='stm run hide_run'><a href='#n467'>467</a></p>
-<p id='n468' class='stm run hide_run'><a href='#n468'>468</a></p>
-<p id='n469' class='stm run hide_run'><a href='#n469'>469</a></p>
-<p id='n470' class='stm run hide_run'><a href='#n470'>470</a></p>
-<p id='n471' class='pln'><a href='#n471'>471</a></p>
-<p id='n472' class='stm run hide_run'><a href='#n472'>472</a></p>
-<p id='n473' class='stm run hide_run'><a href='#n473'>473</a></p>
-<p id='n474' class='stm run hide_run'><a href='#n474'>474</a></p>
-<p id='n475' class='stm run hide_run'><a href='#n475'>475</a></p>
-<p id='n476' class='pln'><a href='#n476'>476</a></p>
-<p id='n477' class='stm run hide_run'><a href='#n477'>477</a></p>
-<p id='n478' class='stm mis'><a href='#n478'>478</a></p>
-<p id='n479' class='pln'><a href='#n479'>479</a></p>
-<p id='n480' class='stm run hide_run'><a href='#n480'>480</a></p>
-<p id='n481' class='stm run hide_run'><a href='#n481'>481</a></p>
-<p id='n482' class='pln'><a href='#n482'>482</a></p>
-<p id='n483' class='stm mis'><a href='#n483'>483</a></p>
-<p id='n484' class='stm mis'><a href='#n484'>484</a></p>
-<p id='n485' class='pln'><a href='#n485'>485</a></p>
-<p id='n486' class='pln'><a href='#n486'>486</a></p>
-<p id='n487' class='stm run hide_run'><a href='#n487'>487</a></p>
-<p id='n488' class='pln'><a href='#n488'>488</a></p>
-<p id='n489' class='pln'><a href='#n489'>489</a></p>
-<p id='n490' class='pln'><a href='#n490'>490</a></p>
-<p id='n491' class='stm run hide_run'><a href='#n491'>491</a></p>
-<p id='n492' class='stm run hide_run'><a href='#n492'>492</a></p>
-<p id='n493' class='pln'><a href='#n493'>493</a></p>
-<p id='n494' class='pln'><a href='#n494'>494</a></p>
-<p id='n495' class='stm run hide_run'><a href='#n495'>495</a></p>
-<p id='n496' class='stm run hide_run'><a href='#n496'>496</a></p>
-<p id='n497' class='stm run hide_run'><a href='#n497'>497</a></p>
-<p id='n498' class='pln'><a href='#n498'>498</a></p>
-<p id='n499' class='stm run hide_run'><a href='#n499'>499</a></p>
-<p id='n500' class='stm run hide_run'><a href='#n500'>500</a></p>
-<p id='n501' class='stm run hide_run'><a href='#n501'>501</a></p>
-<p id='n502' class='stm mis'><a href='#n502'>502</a></p>
-<p id='n503' class='stm mis'><a href='#n503'>503</a></p>
-<p id='n504' class='stm mis'><a href='#n504'>504</a></p>
-<p id='n505' class='pln'><a href='#n505'>505</a></p>
-<p id='n506' class='stm run hide_run'><a href='#n506'>506</a></p>
-<p id='n507' class='stm run hide_run'><a href='#n507'>507</a></p>
-<p id='n508' class='stm run hide_run'><a href='#n508'>508</a></p>
-<p id='n509' class='pln'><a href='#n509'>509</a></p>
-<p id='n510' class='pln'><a href='#n510'>510</a></p>
-<p id='n511' class='stm run hide_run'><a href='#n511'>511</a></p>
-<p id='n512' class='stm mis'><a href='#n512'>512</a></p>
-<p id='n513' class='stm mis'><a href='#n513'>513</a></p>
-<p id='n514' class='stm run hide_run'><a href='#n514'>514</a></p>
-<p id='n515' class='stm mis'><a href='#n515'>515</a></p>
-<p id='n516' class='stm mis'><a href='#n516'>516</a></p>
-<p id='n517' class='stm run hide_run'><a href='#n517'>517</a></p>
-<p id='n518' class='stm mis'><a href='#n518'>518</a></p>
-<p id='n519' class='stm mis'><a href='#n519'>519</a></p>
-<p id='n520' class='pln'><a href='#n520'>520</a></p>
-<p id='n521' class='stm run hide_run'><a href='#n521'>521</a></p>
-<p id='n522' class='stm run hide_run'><a href='#n522'>522</a></p>
-<p id='n523' class='stm run hide_run'><a href='#n523'>523</a></p>
-<p id='n524' class='stm run hide_run'><a href='#n524'>524</a></p>
-<p id='n525' class='pln'><a href='#n525'>525</a></p>
-<p id='n526' class='stm run hide_run'><a href='#n526'>526</a></p>
-<p id='n527' class='pln'><a href='#n527'>527</a></p>
-<p id='n528' class='stm run hide_run'><a href='#n528'>528</a></p>
-<p id='n529' class='stm run hide_run'><a href='#n529'>529</a></p>
-<p id='n530' class='stm run hide_run'><a href='#n530'>530</a></p>
-<p id='n531' class='stm run hide_run'><a href='#n531'>531</a></p>
-<p id='n532' class='pln'><a href='#n532'>532</a></p>
-<p id='n533' class='stm run hide_run'><a href='#n533'>533</a></p>
-<p id='n534' class='stm mis'><a href='#n534'>534</a></p>
-<p id='n535' class='pln'><a href='#n535'>535</a></p>
-<p id='n536' class='pln'><a href='#n536'>536</a></p>
-<p id='n537' class='pln'><a href='#n537'>537</a></p>
-<p id='n538' class='pln'><a href='#n538'>538</a></p>
-<p id='n539' class='pln'><a href='#n539'>539</a></p>
-<p id='n540' class='pln'><a href='#n540'>540</a></p>
-<p id='n541' class='pln'><a href='#n541'>541</a></p>
-<p id='n542' class='pln'><a href='#n542'>542</a></p>
-<p id='n543' class='pln'><a href='#n543'>543</a></p>
-<p id='n544' class='pln'><a href='#n544'>544</a></p>
-<p id='n545' class='pln'><a href='#n545'>545</a></p>
-<p id='n546' class='pln'><a href='#n546'>546</a></p>
-<p id='n547' class='pln'><a href='#n547'>547</a></p>
-<p id='n548' class='stm run hide_run'><a href='#n548'>548</a></p>
-<p id='n549' class='stm mis'><a href='#n549'>549</a></p>
-<p id='n550' class='pln'><a href='#n550'>550</a></p>
-<p id='n551' class='pln'><a href='#n551'>551</a></p>
-<p id='n552' class='stm run hide_run'><a href='#n552'>552</a></p>
-<p id='n553' class='stm run hide_run'><a href='#n553'>553</a></p>
-<p id='n554' class='stm mis'><a href='#n554'>554</a></p>
-<p id='n555' class='stm mis'><a href='#n555'>555</a></p>
-<p id='n556' class='pln'><a href='#n556'>556</a></p>
-<p id='n557' class='pln'><a href='#n557'>557</a></p>
-<p id='n558' class='pln'><a href='#n558'>558</a></p>
-<p id='n559' class='pln'><a href='#n559'>559</a></p>
-<p id='n560' class='pln'><a href='#n560'>560</a></p>
-<p id='n561' class='stm mis'><a href='#n561'>561</a></p>
-<p id='n562' class='pln'><a href='#n562'>562</a></p>
-<p id='n563' class='stm run hide_run'><a href='#n563'>563</a></p>
-<p id='n564' class='pln'><a href='#n564'>564</a></p>
-<p id='n565' class='pln'><a href='#n565'>565</a></p>
-<p id='n566' class='pln'><a href='#n566'>566</a></p>
-<p id='n567' class='pln'><a href='#n567'>567</a></p>
-<p id='n568' class='pln'><a href='#n568'>568</a></p>
-<p id='n569' class='pln'><a href='#n569'>569</a></p>
-<p id='n570' class='stm run hide_run'><a href='#n570'>570</a></p>
-<p id='n571' class='stm run hide_run'><a href='#n571'>571</a></p>
-<p id='n572' class='stm run hide_run'><a href='#n572'>572</a></p>
-<p id='n573' class='stm run hide_run'><a href='#n573'>573</a></p>
-<p id='n574' class='stm mis'><a href='#n574'>574</a></p>
-<p id='n575' class='stm mis'><a href='#n575'>575</a></p>
-<p id='n576' class='pln'><a href='#n576'>576</a></p>
-<p id='n577' class='stm mis'><a href='#n577'>577</a></p>
-<p id='n578' class='pln'><a href='#n578'>578</a></p>
-<p id='n579' class='pln'><a href='#n579'>579</a></p>
-<p id='n580' class='stm mis'><a href='#n580'>580</a></p>
-<p id='n581' class='stm mis'><a href='#n581'>581</a></p>
-<p id='n582' class='stm mis'><a href='#n582'>582</a></p>
-<p id='n583' class='stm mis'><a href='#n583'>583</a></p>
-<p id='n584' class='stm mis'><a href='#n584'>584</a></p>
-<p id='n585' class='pln'><a href='#n585'>585</a></p>
-<p id='n586' class='stm mis'><a href='#n586'>586</a></p>
-<p id='n587' class='stm mis'><a href='#n587'>587</a></p>
-<p id='n588' class='pln'><a href='#n588'>588</a></p>
-<p id='n589' class='stm mis'><a href='#n589'>589</a></p>
-<p id='n590' class='stm mis'><a href='#n590'>590</a></p>
-<p id='n591' class='stm mis'><a href='#n591'>591</a></p>
-<p id='n592' class='stm mis'><a href='#n592'>592</a></p>
-<p id='n593' class='stm mis'><a href='#n593'>593</a></p>
-<p id='n594' class='pln'><a href='#n594'>594</a></p>
-<p id='n595' class='stm mis'><a href='#n595'>595</a></p>
-<p id='n596' class='pln'><a href='#n596'>596</a></p>
-<p id='n597' class='pln'><a href='#n597'>597</a></p>
-<p id='n598' class='pln'><a href='#n598'>598</a></p>
-<p id='n599' class='pln'><a href='#n599'>599</a></p>
-<p id='n600' class='stm run hide_run'><a href='#n600'>600</a></p>
-<p id='n601' class='stm run hide_run'><a href='#n601'>601</a></p>
-<p id='n602' class='stm mis'><a href='#n602'>602</a></p>
-<p id='n603' class='pln'><a href='#n603'>603</a></p>
-<p id='n604' class='pln'><a href='#n604'>604</a></p>
-<p id='n605' class='stm mis'><a href='#n605'>605</a></p>
-<p id='n606' class='stm mis'><a href='#n606'>606</a></p>
-<p id='n607' class='pln'><a href='#n607'>607</a></p>
-<p id='n608' class='pln'><a href='#n608'>608</a></p>
-<p id='n609' class='stm run hide_run'><a href='#n609'>609</a></p>
-<p id='n610' class='stm run hide_run'><a href='#n610'>610</a></p>
-<p id='n611' class='stm mis'><a href='#n611'>611</a></p>
-<p id='n612' class='pln'><a href='#n612'>612</a></p>
-<p id='n613' class='pln'><a href='#n613'>613</a></p>
-<p id='n614' class='stm mis'><a href='#n614'>614</a></p>
-<p id='n615' class='stm mis'><a href='#n615'>615</a></p>
-<p id='n616' class='pln'><a href='#n616'>616</a></p>
-<p id='n617' class='pln'><a href='#n617'>617</a></p>
-<p id='n618' class='stm run hide_run'><a href='#n618'>618</a></p>
-<p id='n619' class='stm run hide_run'><a href='#n619'>619</a></p>
-<p id='n620' class='stm mis'><a href='#n620'>620</a></p>
-<p id='n621' class='pln'><a href='#n621'>621</a></p>
-<p id='n622' class='pln'><a href='#n622'>622</a></p>
-<p id='n623' class='stm mis'><a href='#n623'>623</a></p>
-<p id='n624' class='stm mis'><a href='#n624'>624</a></p>
-<p id='n625' class='pln'><a href='#n625'>625</a></p>
-<p id='n626' class='pln'><a href='#n626'>626</a></p>
-<p id='n627' class='stm run hide_run'><a href='#n627'>627</a></p>
-<p id='n628' class='stm run hide_run'><a href='#n628'>628</a></p>
-<p id='n629' class='stm mis'><a href='#n629'>629</a></p>
-<p id='n630' class='pln'><a href='#n630'>630</a></p>
-<p id='n631' class='pln'><a href='#n631'>631</a></p>
-<p id='n632' class='stm mis'><a href='#n632'>632</a></p>
-<p id='n633' class='stm mis'><a href='#n633'>633</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Serializer fields that deal with relationships.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>These fields allow you to specify the style that should be used to represent</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>model relationships, including hyperlinks, primary keys, or slugs.</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>exceptions</span> <span class='key'>import</span> <span class='nam'>ObjectDoesNotExist</span><span class='op'>,</span> <span class='nam'>ValidationError</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>urlresolvers</span> <span class='key'>import</span> <span class='nam'>resolve</span><span class='op'>,</span> <span class='nam'>get_script_prefix</span><span class='op'>,</span> <span class='nam'>NoReverseMatch</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span> <span class='key'>import</span> <span class='nam'>forms</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>db</span><span class='op'>.</span><span class='nam'>models</span><span class='op'>.</span><span class='nam'>fields</span> <span class='key'>import</span> <span class='nam'>BLANK_CHOICE_DASH</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>forms</span> <span class='key'>import</span> <span class='nam'>widgets</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>forms</span><span class='op'>.</span><span class='nam'>models</span> <span class='key'>import</span> <span class='nam'>ModelChoiceIterator</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>translation</span> <span class='key'>import</span> <span class='nam'>ugettext_lazy</span> <span class='key'>as</span> <span class='nam'>_</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>fields</span> <span class='key'>import</span> <span class='nam'>Field</span><span class='op'>,</span> <span class='nam'>WritableField</span><span class='op'>,</span> <span class='nam'>get_component</span><span class='op'>,</span> <span class='nam'>is_simple_callable</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>reverse</span> <span class='key'>import</span> <span class='nam'>reverse</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>urlparse</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>smart_text</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>warnings</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'><span class='com'>##### Relational fields #####</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='com'># Not actually Writable, but subclasses may need to be.</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>RelatedField</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='str'>&nbsp; &nbsp; Base class for related model fields.</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'><span class='str'>&nbsp; &nbsp; This represents a relationship using the unicode representation of the target.</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>widget</span> <span class='op'>=</span> <span class='nam'>widgets</span><span class='op'>.</span><span class='nam'>Select</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>many_widget</span> <span class='op'>=</span> <span class='nam'>widgets</span><span class='op'>.</span><span class='nam'>SelectMultiple</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>ChoiceField</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>many_form_field_class</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>MultipleChoiceField</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>cache_choices</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>empty_label</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>read_only</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>many</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># &#39;null&#39; is to be deprecated in favor of &#39;required&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='str'>&#39;null&#39;</span> <span class='key'>in</span> <span class='nam'>kwargs</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='str'>&#39;The `null` keyword argument is deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Use the `required` keyword argument instead.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>DeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;required&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='key'>not</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;null&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;queryset&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;many&#39;</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>widget</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many_widget</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>form_field_class</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many_form_field_class</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;read_only&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;read_only&#39;</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>read_only</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>RelatedField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>required</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>empty_label</span> <span class='op'>=</span> <span class='nam'>BLANK_CHOICE_DASH</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>[</span><span class='num'>1</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>queryset</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>initialize</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>parent</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>RelatedField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>initialize</span><span class='op'>(</span><span class='nam'>parent</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>queryset</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>read_only</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>manager</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>parent</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>model</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>manager</span><span class='op'>,</span> <span class='str'>&#39;related&#39;</span><span class='op'>)</span><span class='op'>:</span>&nbsp; <span class='com'># Forward</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>manager</span><span class='op'>.</span><span class='nam'>related</span><span class='op'>.</span><span class='nam'>model</span><span class='op'>.</span><span class='nam'>_default_manager</span><span class='op'>.</span><span class='nam'>all</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span>&nbsp; <span class='com'># Reverse</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>manager</span><span class='op'>.</span><span class='nam'>field</span><span class='op'>.</span><span class='nam'>rel</span><span class='op'>.</span><span class='nam'>to</span><span class='op'>.</span><span class='nam'>_default_manager</span><span class='op'>.</span><span class='nam'>all</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>Exception</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='op'>(</span><span class='str'>&#39;Serializer related fields must include a `queryset`&#39;</span> <span class='op'>+</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='str'>&#39; argument or set `read_only=True&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>Exception</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'>&nbsp; &nbsp; <span class='com'>### We need this stuff to make form choices work...</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>prepare_value</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>label_from_instance</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return a readable representation for use with eg. select widgets.</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>desc</span> <span class='op'>=</span> <span class='nam'>smart_text</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ident</span> <span class='op'>=</span> <span class='nam'>smart_text</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>desc</span> <span class='op'>==</span> <span class='nam'>ident</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>desc</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&quot;%s - %s&quot;</span> <span class='op'>%</span> <span class='op'>(</span><span class='nam'>desc</span><span class='op'>,</span> <span class='nam'>ident</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_queryset</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_queryset</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_set_queryset</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_queryset</span> <span class='op'>=</span> <span class='nam'>queryset</span><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>widget</span><span class='op'>.</span><span class='nam'>choices</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>choices</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='nam'>_get_queryset</span><span class='op'>,</span> <span class='nam'>_set_queryset</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_choices</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If self._choices is set, then somebody must have manually set</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># the property self.choices. In this case, just return self._choices.</span><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_choices&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_choices</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Otherwise, execute the QuerySet in self.queryset to determine the</span><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># choices dynamically. Return a fresh ModelChoiceIterator that has not been</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># consumed. Note that we&#39;re instantiating a new ModelChoiceIterator *each*</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># time _get_choices() is called (and, thus, each time self.choices is</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># accessed) so that we can ensure the QuerySet has not been consumed. This</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># construct might look complicated but it allows for lazy evaluation of</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># the queryset.</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ModelChoiceIterator</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_set_choices</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Setting choices also sets the choices on the widget.</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># choices can be any iterable, but we call list() on it because</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># it will be consumed more than once.</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_choices</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>widget</span><span class='op'>.</span><span class='nam'>choices</span> <span class='op'>=</span> <span class='nam'>list</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>choices</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='nam'>_get_choices</span><span class='op'>,</span> <span class='nam'>_set_choices</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='pln'>&nbsp; &nbsp; <span class='com'>### Regular serializer stuff...</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>field_to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='op'>==</span> <span class='str'>&#39;*&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>source</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>obj</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>component</span> <span class='key'>in</span> <span class='nam'>source</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='str'>&#39;.&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>get_component</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>component</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>break</span><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ObjectDoesNotExist</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>is_simple_callable</span><span class='op'>(</span><span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='str'>&#39;all&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>all</span><span class='op'>(</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Also support non-queryset iterables.</span><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># This allows us to also support plain lists of related items.</span><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>value</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>field_from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>into</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>read_only</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Form data</span><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>data</span><span class='op'>.</span><span class='nam'>getlist</span><span class='op'>(</span><span class='nam'>field_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='op'>==</span> <span class='op'>[</span><span class='str'>&#39;&#39;</span><span class='op'>]</span> <span class='key'>or</span> <span class='nam'>value</span> <span class='op'>==</span> <span class='op'>[</span><span class='op'>]</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>KeyError</span><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>AttributeError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Non-form data</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>data</span><span class='op'>[</span><span class='nam'>field_name</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>data</span><span class='op'>[</span><span class='nam'>field_name</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>KeyError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>partial</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span> <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span> <span class='key'>else</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='op'>(</span><span class='nam'>None</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>required</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;required&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='op'>(</span><span class='nam'>None</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>into</span><span class='op'>[</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>into</span><span class='op'>[</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>]</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>value</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>into</span><span class='op'>[</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='pln'><span class='com'>### PrimaryKey relationships</span><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>PrimaryKeyRelatedField</span><span class='op'>(</span><span class='nam'>RelatedField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='pln'><span class='str'>&nbsp; &nbsp; Represents a relationship as a pk value.</span><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>read_only</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t193' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t194' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t195' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;does_not_exist&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;Invalid pk &#39;%s&#39; - object does not exist.&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t196' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;incorrect_type&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Incorrect type.&nbsp; Expected pk value, received %s.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t197' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t198' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t199' class='pln'>&nbsp; &nbsp; <span class='com'># TODO: Remove these field hacks...</span><span class='strut'>&nbsp;</span></p>
-<p id='t200' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>prepare_value</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t201' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>.</span><span class='nam'>pk</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t202' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t203' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>label_from_instance</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t204' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t205' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return a readable representation for use with eg. select widgets.</span><span class='strut'>&nbsp;</span></p>
-<p id='t206' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t207' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>desc</span> <span class='op'>=</span> <span class='nam'>smart_text</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t208' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ident</span> <span class='op'>=</span> <span class='nam'>smart_text</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>.</span><span class='nam'>pk</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t209' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>desc</span> <span class='op'>==</span> <span class='nam'>ident</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t210' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>desc</span><span class='strut'>&nbsp;</span></p>
-<p id='t211' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&quot;%s - %s&quot;</span> <span class='op'>%</span> <span class='op'>(</span><span class='nam'>desc</span><span class='op'>,</span> <span class='nam'>ident</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t212' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t213' class='pln'>&nbsp; &nbsp; <span class='com'># TODO: Possibly change this to just take `obj`, through prob less performant</span><span class='strut'>&nbsp;</span></p>
-<p id='t214' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pk</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t215' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>pk</span><span class='strut'>&nbsp;</span></p>
-<p id='t216' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t217' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t218' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>queryset</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t219' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>Exception</span><span class='op'>(</span><span class='str'>&#39;Writable related fields must include a `queryset` argument&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t220' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t221' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t222' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>queryset</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>pk</span><span class='op'>=</span><span class='nam'>data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t223' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ObjectDoesNotExist</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t224' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;does_not_exist&#39;</span><span class='op'>]</span> <span class='op'>%</span> <span class='nam'>smart_text</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t225' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t226' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>TypeError</span><span class='op'>,</span> <span class='nam'>ValueError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t227' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>received</span> <span class='op'>=</span> <span class='nam'>type</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__name__</span><span class='strut'>&nbsp;</span></p>
-<p id='t228' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;incorrect_type&#39;</span><span class='op'>]</span> <span class='op'>%</span> <span class='nam'>received</span><span class='strut'>&nbsp;</span></p>
-<p id='t229' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t230' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t231' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>field_to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t232' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t233' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># To-many relationship</span><span class='strut'>&nbsp;</span></p>
-<p id='t234' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t235' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t236' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t237' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Prefer obj.serializable_value for performance reasons</span><span class='strut'>&nbsp;</span></p>
-<p id='t238' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t239' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>serializable_value</span><span class='op'>(</span><span class='nam'>field_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t240' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>AttributeError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t241' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t242' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>queryset</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t243' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># RelatedManager (reverse relationship)</span><span class='strut'>&nbsp;</span></p>
-<p id='t244' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>source</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t245' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>obj</span><span class='strut'>&nbsp;</span></p>
-<p id='t246' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>component</span> <span class='key'>in</span> <span class='nam'>source</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='str'>&#39;.&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t247' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>get_component</span><span class='op'>(</span><span class='nam'>queryset</span><span class='op'>,</span> <span class='nam'>component</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t248' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t249' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Forward relationship</span><span class='strut'>&nbsp;</span></p>
-<p id='t250' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>is_simple_callable</span><span class='op'>(</span><span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>queryset</span><span class='op'>,</span> <span class='str'>&#39;all&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t251' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>.</span><span class='nam'>pk</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>queryset</span><span class='op'>.</span><span class='nam'>all</span><span class='op'>(</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t252' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t253' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Also support non-queryset iterables.</span><span class='strut'>&nbsp;</span></p>
-<p id='t254' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># This allows us to also support plain lists of related items.</span><span class='strut'>&nbsp;</span></p>
-<p id='t255' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>.</span><span class='nam'>pk</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>queryset</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t256' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t257' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># To-one relationship</span><span class='strut'>&nbsp;</span></p>
-<p id='t258' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t259' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Prefer obj.serializable_value for performance reasons</span><span class='strut'>&nbsp;</span></p>
-<p id='t260' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>pk</span> <span class='op'>=</span> <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>serializable_value</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t261' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>AttributeError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t262' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># RelatedObject (reverse relationship)</span><span class='strut'>&nbsp;</span></p>
-<p id='t263' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t264' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>pk</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>pk</span><span class='strut'>&nbsp;</span></p>
-<p id='t265' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ObjectDoesNotExist</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t266' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t267' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t268' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Forward relationship</span><span class='strut'>&nbsp;</span></p>
-<p id='t269' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>pk</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t270' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t271' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t272' class='pln'><span class='com'>### Slug relationships</span><span class='strut'>&nbsp;</span></p>
-<p id='t273' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t274' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t275' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>SlugRelatedField</span><span class='op'>(</span><span class='nam'>RelatedField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t276' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t277' class='pln'><span class='str'>&nbsp; &nbsp; Represents a relationship using a unique field on the target.</span><span class='strut'>&nbsp;</span></p>
-<p id='t278' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t279' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>read_only</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t280' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t281' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t282' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;does_not_exist&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;Object with %s=%s does not exist.&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t283' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;invalid&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Invalid value.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t284' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t285' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t286' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t287' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;slug_field&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t288' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span><span class='op'>,</span> <span class='str'>&#39;slug_field is required&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t289' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>SlugRelatedField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t290' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t291' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t292' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t293' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t294' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t295' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>queryset</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t296' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>Exception</span><span class='op'>(</span><span class='str'>&#39;Writable related fields must include a `queryset` argument&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t297' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t298' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t299' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>queryset</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='op'>**</span><span class='op'>{</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span><span class='op'>:</span> <span class='nam'>data</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t300' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ObjectDoesNotExist</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t301' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;does_not_exist&#39;</span><span class='op'>]</span> <span class='op'>%</span><span class='strut'>&nbsp;</span></p>
-<p id='t302' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span><span class='op'>,</span> <span class='nam'>smart_text</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>)</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t303' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>TypeError</span><span class='op'>,</span> <span class='nam'>ValueError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t304' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;invalid&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t305' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t306' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t307' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t308' class='pln'><span class='com'>### Hyperlinked relationships</span><span class='strut'>&nbsp;</span></p>
-<p id='t309' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t310' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>HyperlinkedRelatedField</span><span class='op'>(</span><span class='nam'>RelatedField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t311' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t312' class='pln'><span class='str'>&nbsp; &nbsp; Represents a relationship using hyperlinking.</span><span class='strut'>&nbsp;</span></p>
-<p id='t313' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t314' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>read_only</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t315' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>lookup_field</span> <span class='op'>=</span> <span class='str'>&#39;pk&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t316' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t317' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_error_messages</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t318' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;no_match&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Invalid hyperlink - No URL match&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t319' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;incorrect_match&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Invalid hyperlink - Incorrect URL match&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t320' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;configuration_error&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Invalid hyperlink due to configuration error&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t321' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;does_not_exist&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&quot;Invalid hyperlink - object does not exist.&quot;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t322' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;incorrect_type&#39;</span><span class='op'>:</span> <span class='nam'>_</span><span class='op'>(</span><span class='str'>&#39;Incorrect type.&nbsp; Expected url string, received %s.&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t323' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t324' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t325' class='pln'>&nbsp; &nbsp; <span class='com'># These are all pending deprecation</span><span class='strut'>&nbsp;</span></p>
-<p id='t326' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>pk_url_kwarg</span> <span class='op'>=</span> <span class='str'>&#39;pk&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t327' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>slug_field</span> <span class='op'>=</span> <span class='str'>&#39;slug&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t328' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>slug_url_kwarg</span> <span class='op'>=</span> <span class='nam'>None</span>&nbsp; <span class='com'># Defaults to same as `slug_field` unless overridden</span><span class='strut'>&nbsp;</span></p>
-<p id='t329' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t330' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t331' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t332' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>view_name</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;view_name&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t333' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>KeyError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t334' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValueError</span><span class='op'>(</span><span class='str'>&quot;Hyperlinked field requires &#39;view_name&#39; kwarg&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t335' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t336' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;lookup_field&#39;</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t337' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;format&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t338' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t339' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># These are pending deprecation</span><span class='strut'>&nbsp;</span></p>
-<p id='t340' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='str'>&#39;pk_url_kwarg&#39;</span> <span class='key'>in</span> <span class='nam'>kwargs</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t341' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;pk_url_kwarg is pending deprecation. Use lookup_field instead.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t342' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>,</span> <span class='nam'>PendingDeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t343' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='str'>&#39;slug_url_kwarg&#39;</span> <span class='key'>in</span> <span class='nam'>kwargs</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t344' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;slug_url_kwarg is pending deprecation. Use lookup_field instead.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t345' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>,</span> <span class='nam'>PendingDeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t346' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='str'>&#39;slug_field&#39;</span> <span class='key'>in</span> <span class='nam'>kwargs</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t347' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;slug_field is pending deprecation. Use lookup_field instead.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t348' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>,</span> <span class='nam'>PendingDeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t349' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t350' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>pk_url_kwarg</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;pk_url_kwarg&#39;</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>pk_url_kwarg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t351' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;slug_field&#39;</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t352' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>default_slug_kwarg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_url_kwarg</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span><span class='strut'>&nbsp;</span></p>
-<p id='t353' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_url_kwarg</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;slug_url_kwarg&#39;</span><span class='op'>,</span> <span class='nam'>default_slug_kwarg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t354' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t355' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>HyperlinkedRelatedField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t356' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t357' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_url</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>view_name</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t358' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t359' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given an object, return the URL that hyperlinks to the object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t360' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t361' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; May raise a `NoReverseMatch` if the `view_name` and `lookup_field`</span><span class='strut'>&nbsp;</span></p>
-<p id='t362' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; attributes are not configured to correctly match the URL conf.</span><span class='strut'>&nbsp;</span></p>
-<p id='t363' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t364' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lookup_field</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t365' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>:</span> <span class='nam'>lookup_field</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t366' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t367' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>reverse</span><span class='op'>(</span><span class='nam'>view_name</span><span class='op'>,</span> <span class='nam'>kwargs</span><span class='op'>=</span><span class='nam'>kwargs</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>=</span><span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t368' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>NoReverseMatch</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t369' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t370' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t371' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>pk_url_kwarg</span> <span class='op'>!=</span> <span class='str'>&#39;pk&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t372' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Only try pk if it has been explicitly set.</span><span class='strut'>&nbsp;</span></p>
-<p id='t373' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Otherwise, the default `lookup_field = &#39;pk&#39;` has us covered.</span><span class='strut'>&nbsp;</span></p>
-<p id='t374' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>pk</span> <span class='op'>=</span> <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>pk</span><span class='strut'>&nbsp;</span></p>
-<p id='t375' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>pk_url_kwarg</span><span class='op'>:</span> <span class='nam'>pk</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t376' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t377' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>reverse</span><span class='op'>(</span><span class='nam'>view_name</span><span class='op'>,</span> <span class='nam'>kwargs</span><span class='op'>=</span><span class='nam'>kwargs</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>=</span><span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t378' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>NoReverseMatch</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t379' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t380' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t381' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>slug</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t382' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>slug</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t383' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Only try slug if it corresponds to an attribute on the object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t384' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_url_kwarg</span><span class='op'>:</span> <span class='nam'>slug</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t385' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t386' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>reverse</span><span class='op'>(</span><span class='nam'>view_name</span><span class='op'>,</span> <span class='nam'>kwargs</span><span class='op'>=</span><span class='nam'>kwargs</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>=</span><span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t387' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span> <span class='op'>==</span> <span class='str'>&#39;slug&#39;</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_url_kwarg</span> <span class='op'>==</span> <span class='str'>&#39;slug&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t388' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If the lookup succeeds using the default slug params,</span><span class='strut'>&nbsp;</span></p>
-<p id='t389' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># then `slug_field` is being used implicitly, and we</span><span class='strut'>&nbsp;</span></p>
-<p id='t390' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># we need to warn about the pending deprecation.</span><span class='strut'>&nbsp;</span></p>
-<p id='t391' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;Implicit slug field hyperlinked fields are pending deprecation.&#39;</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t392' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;You should set `lookup_field=slug` on the HyperlinkedRelatedField.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t393' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>,</span> <span class='nam'>PendingDeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t394' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t395' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>NoReverseMatch</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t396' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t397' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t398' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>NoReverseMatch</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t399' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t400' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_object</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>queryset</span><span class='op'>,</span> <span class='nam'>view_name</span><span class='op'>,</span> <span class='nam'>view_args</span><span class='op'>,</span> <span class='nam'>view_kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t401' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t402' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return the object corresponding to a matched URL.</span><span class='strut'>&nbsp;</span></p>
-<p id='t403' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t404' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Takes the matched URL conf arguments, and the queryset, and should</span><span class='strut'>&nbsp;</span></p>
-<p id='t405' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; return an object instance, or raise an `ObjectDoesNotExist` exception.</span><span class='strut'>&nbsp;</span></p>
-<p id='t406' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t407' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lookup</span> <span class='op'>=</span> <span class='nam'>view_kwargs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t408' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>pk</span> <span class='op'>=</span> <span class='nam'>view_kwargs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>pk_url_kwarg</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t409' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>slug</span> <span class='op'>=</span> <span class='nam'>view_kwargs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_url_kwarg</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t410' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t411' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>lookup</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t412' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filter_kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>:</span> <span class='nam'>lookup</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t413' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>pk</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t414' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filter_kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='str'>&#39;pk&#39;</span><span class='op'>:</span> <span class='nam'>pk</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t415' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>slug</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t416' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filter_kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span><span class='op'>:</span> <span class='nam'>slug</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t417' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t418' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ObjectDoesNotExist</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t419' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t420' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>queryset</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>filter_kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t421' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t422' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t423' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view_name</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>view_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t424' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;request&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t425' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;format&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t426' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t427' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>request</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t428' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t429' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;Using `HyperlinkedRelatedField` without including the request &quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t430' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;in the serializer context is deprecated. &quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t431' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;Add `context={&#39;request&#39;: request}` when instantiating &quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t432' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;the serializer.&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t433' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t434' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>,</span> <span class='nam'>DeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>4</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t435' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t436' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If the object has not yet been saved then we cannot hyperlink to it.</span><span class='strut'>&nbsp;</span></p>
-<p id='t437' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='str'>&#39;pk&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t438' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t439' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t440' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Return the hyperlink, or error if incorrectly configured.</span><span class='strut'>&nbsp;</span></p>
-<p id='t441' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t442' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_url</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>view_name</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t443' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>NoReverseMatch</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t444' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t445' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Could not resolve URL for hyperlinked relationship using &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t446' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;view name &quot;%s&quot;. You may have failed to include the related &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t447' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;model in your API, or incorrectly configured the &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t448' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;`lookup_field` attribute on this field.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t449' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t450' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>Exception</span><span class='op'>(</span><span class='nam'>msg</span> <span class='op'>%</span> <span class='nam'>view_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t451' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t452' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t453' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Convert URL -&gt; model instance pk</span><span class='strut'>&nbsp;</span></p>
-<p id='t454' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># TODO: Use values_list</span><span class='strut'>&nbsp;</span></p>
-<p id='t455' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>queryset</span><span class='strut'>&nbsp;</span></p>
-<p id='t456' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>queryset</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t457' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>Exception</span><span class='op'>(</span><span class='str'>&#39;Writable related fields must include a `queryset` argument&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t458' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t459' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t460' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>http_prefix</span> <span class='op'>=</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>startswith</span><span class='op'>(</span><span class='op'>(</span><span class='str'>&#39;http:&#39;</span><span class='op'>,</span> <span class='str'>&#39;https:&#39;</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t461' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>AttributeError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t462' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;incorrect_type&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t463' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>msg</span> <span class='op'>%</span> <span class='nam'>type</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__name__</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t464' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t465' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>http_prefix</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t466' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If needed convert absolute URLs to relative path</span><span class='strut'>&nbsp;</span></p>
-<p id='t467' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>urlparse</span><span class='op'>.</span><span class='nam'>urlparse</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>path</span><span class='strut'>&nbsp;</span></p>
-<p id='t468' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>prefix</span> <span class='op'>=</span> <span class='nam'>get_script_prefix</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t469' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>startswith</span><span class='op'>(</span><span class='nam'>prefix</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t470' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='str'>&#39;/&#39;</span> <span class='op'>+</span> <span class='nam'>value</span><span class='op'>[</span><span class='nam'>len</span><span class='op'>(</span><span class='nam'>prefix</span><span class='op'>)</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t471' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t472' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t473' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>match</span> <span class='op'>=</span> <span class='nam'>resolve</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t474' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>Exception</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t475' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;no_match&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t476' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t477' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>match</span><span class='op'>.</span><span class='nam'>view_name</span> <span class='op'>!=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>view_name</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t478' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;incorrect_match&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t479' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t480' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t481' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_object</span><span class='op'>(</span><span class='nam'>queryset</span><span class='op'>,</span> <span class='nam'>match</span><span class='op'>.</span><span class='nam'>view_name</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t482' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>match</span><span class='op'>.</span><span class='nam'>args</span><span class='op'>,</span> <span class='nam'>match</span><span class='op'>.</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t483' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>ObjectDoesNotExist</span><span class='op'>,</span> <span class='nam'>TypeError</span><span class='op'>,</span> <span class='nam'>ValueError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t484' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;does_not_exist&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t485' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t486' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t487' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>HyperlinkedIdentityField</span><span class='op'>(</span><span class='nam'>Field</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t488' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t489' class='pln'><span class='str'>&nbsp; &nbsp; Represents the instance, or a property on the instance, using hyperlinking.</span><span class='strut'>&nbsp;</span></p>
-<p id='t490' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t491' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>lookup_field</span> <span class='op'>=</span> <span class='str'>&#39;pk&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t492' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>read_only</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t493' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t494' class='pln'>&nbsp; &nbsp; <span class='com'># These are all pending deprecation</span><span class='strut'>&nbsp;</span></p>
-<p id='t495' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>pk_url_kwarg</span> <span class='op'>=</span> <span class='str'>&#39;pk&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t496' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>slug_field</span> <span class='op'>=</span> <span class='str'>&#39;slug&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t497' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>slug_url_kwarg</span> <span class='op'>=</span> <span class='nam'>None</span>&nbsp; <span class='com'># Defaults to same as `slug_field` unless overridden</span><span class='strut'>&nbsp;</span></p>
-<p id='t498' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t499' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t500' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t501' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>view_name</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;view_name&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t502' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>KeyError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t503' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&quot;HyperlinkedIdentityField requires &#39;view_name&#39; argument&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t504' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValueError</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t505' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t506' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;format&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t507' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lookup_field</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;lookup_field&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t508' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span> <span class='op'>=</span> <span class='nam'>lookup_field</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='strut'>&nbsp;</span></p>
-<p id='t509' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t510' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># These are pending deprecation</span><span class='strut'>&nbsp;</span></p>
-<p id='t511' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='str'>&#39;pk_url_kwarg&#39;</span> <span class='key'>in</span> <span class='nam'>kwargs</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t512' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;pk_url_kwarg is pending deprecation. Use lookup_field instead.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t513' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>,</span> <span class='nam'>PendingDeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t514' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='str'>&#39;slug_url_kwarg&#39;</span> <span class='key'>in</span> <span class='nam'>kwargs</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t515' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;slug_url_kwarg is pending deprecation. Use lookup_field instead.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t516' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>,</span> <span class='nam'>PendingDeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t517' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='str'>&#39;slug_field&#39;</span> <span class='key'>in</span> <span class='nam'>kwargs</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t518' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&#39;slug_field is pending deprecation. Use lookup_field instead.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t519' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>,</span> <span class='nam'>PendingDeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t520' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t521' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;slug_field&#39;</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t522' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>default_slug_kwarg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_url_kwarg</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span><span class='strut'>&nbsp;</span></p>
-<p id='t523' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>pk_url_kwarg</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;pk_url_kwarg&#39;</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>pk_url_kwarg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t524' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_url_kwarg</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='str'>&#39;slug_url_kwarg&#39;</span><span class='op'>,</span> <span class='nam'>default_slug_kwarg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t525' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t526' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>HyperlinkedIdentityField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t527' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t528' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>field_to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t529' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;request&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t530' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;format&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t531' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view_name</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>view_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t532' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t533' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>request</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t534' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='str'>&quot;Using `HyperlinkedIdentityField` without including the &quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t535' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;request in the serializer context is deprecated. &quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t536' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;Add `context={&#39;request&#39;: request}` when instantiating the serializer.&quot;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t537' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>DeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>4</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t538' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t539' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># By default use whatever format is given for the current context</span><span class='strut'>&nbsp;</span></p>
-<p id='t540' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># unless the target is a different type to the source.</span><span class='strut'>&nbsp;</span></p>
-<p id='t541' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'>#</span><span class='strut'>&nbsp;</span></p>
-<p id='t542' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Eg. Consider a HyperlinkedIdentityField pointing from a json</span><span class='strut'>&nbsp;</span></p>
-<p id='t543' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># representation to an html property of that representation...</span><span class='strut'>&nbsp;</span></p>
-<p id='t544' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'>#</span><span class='strut'>&nbsp;</span></p>
-<p id='t545' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># &#39;/snippets/1/&#39; should link to &#39;/snippets/1/highlight/&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t546' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># ...but...</span><span class='strut'>&nbsp;</span></p>
-<p id='t547' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># &#39;/snippets/1/.json&#39; should link to &#39;/snippets/1/highlight/.html&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t548' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>format</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span> <span class='op'>!=</span> <span class='nam'>format</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t549' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format</span><span class='strut'>&nbsp;</span></p>
-<p id='t550' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t551' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Return the hyperlink, or error if incorrectly configured.</span><span class='strut'>&nbsp;</span></p>
-<p id='t552' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t553' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_url</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>view_name</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t554' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>NoReverseMatch</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t555' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t556' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Could not resolve URL for hyperlinked relationship using &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t557' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;view name &quot;%s&quot;. You may have failed to include the related &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t558' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;model in your API, or incorrectly configured the &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t559' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;`lookup_field` attribute on this field.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t560' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t561' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>Exception</span><span class='op'>(</span><span class='nam'>msg</span> <span class='op'>%</span> <span class='nam'>view_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t562' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t563' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_url</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>view_name</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t564' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t565' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given an object, return the URL that hyperlinks to the object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t566' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t567' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; May raise a `NoReverseMatch` if the `view_name` and `lookup_field`</span><span class='strut'>&nbsp;</span></p>
-<p id='t568' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; attributes are not configured to correctly match the URL conf.</span><span class='strut'>&nbsp;</span></p>
-<p id='t569' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t570' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lookup_field</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t571' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>:</span> <span class='nam'>lookup_field</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t572' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t573' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>reverse</span><span class='op'>(</span><span class='nam'>view_name</span><span class='op'>,</span> <span class='nam'>kwargs</span><span class='op'>=</span><span class='nam'>kwargs</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>=</span><span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t574' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>NoReverseMatch</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t575' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t576' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t577' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>pk_url_kwarg</span> <span class='op'>!=</span> <span class='str'>&#39;pk&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t578' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Only try pk lookup if it has been explicitly set.</span><span class='strut'>&nbsp;</span></p>
-<p id='t579' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Otherwise, the default `lookup_field = &#39;pk&#39;` has us covered.</span><span class='strut'>&nbsp;</span></p>
-<p id='t580' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>pk_url_kwarg</span><span class='op'>:</span> <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>pk</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t581' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t582' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>reverse</span><span class='op'>(</span><span class='nam'>view_name</span><span class='op'>,</span> <span class='nam'>kwargs</span><span class='op'>=</span><span class='nam'>kwargs</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>=</span><span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t583' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>NoReverseMatch</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t584' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t585' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t586' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>slug</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_field</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t587' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>slug</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t588' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Only use slug lookup if a slug field exists on the model</span><span class='strut'>&nbsp;</span></p>
-<p id='t589' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>slug_url_kwarg</span><span class='op'>:</span> <span class='nam'>slug</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t590' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t591' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>reverse</span><span class='op'>(</span><span class='nam'>view_name</span><span class='op'>,</span> <span class='nam'>kwargs</span><span class='op'>=</span><span class='nam'>kwargs</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>=</span><span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t592' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>NoReverseMatch</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t593' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t594' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t595' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>NoReverseMatch</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t596' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t597' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t598' class='pln'><span class='com'>### Old-style many classes for backwards compat</span><span class='strut'>&nbsp;</span></p>
-<p id='t599' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t600' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ManyRelatedField</span><span class='op'>(</span><span class='nam'>RelatedField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t601' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t602' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='str'>&#39;`ManyRelatedField()` is deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t603' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Use `RelatedField(many=True)` instead.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t604' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>DeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t605' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;many&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t606' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>ManyRelatedField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t607' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t608' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t609' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ManyPrimaryKeyRelatedField</span><span class='op'>(</span><span class='nam'>PrimaryKeyRelatedField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t610' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t611' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='str'>&#39;`ManyPrimaryKeyRelatedField()` is deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t612' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Use `PrimaryKeyRelatedField(many=True)` instead.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t613' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>DeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t614' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;many&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t615' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>ManyPrimaryKeyRelatedField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t616' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t617' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t618' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ManySlugRelatedField</span><span class='op'>(</span><span class='nam'>SlugRelatedField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t619' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t620' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='str'>&#39;`ManySlugRelatedField()` is deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t621' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Use `SlugRelatedField(many=True)` instead.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t622' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>DeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t623' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;many&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t624' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>ManySlugRelatedField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t625' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t626' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t627' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ManyHyperlinkedRelatedField</span><span class='op'>(</span><span class='nam'>HyperlinkedRelatedField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t628' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t629' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='str'>&#39;`ManyHyperlinkedRelatedField()` is deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t630' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Use `HyperlinkedRelatedField(many=True)` instead.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t631' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>DeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t632' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;many&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t633' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>ManyHyperlinkedRelatedField</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_renderers.html b/htmlcov/rest_framework_renderers.html
deleted file mode 100644
index 58c71b85..00000000
--- a/htmlcov/rest_framework_renderers.html
+++ /dev/null
@@ -1,1227 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/renderers: 92%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/renderers</b> :
- <span class='pc_cov'>92%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 282 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>259 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>23 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='stm run hide_run'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='stm run hide_run'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='stm run hide_run'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='stm run hide_run'><a href='#n36'>36</a></p>
-<p id='n37' class='stm run hide_run'><a href='#n37'>37</a></p>
-<p id='n38' class='stm run hide_run'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='stm run hide_run'><a href='#n40'>40</a></p>
-<p id='n41' class='stm mis'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='stm run hide_run'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='stm run hide_run'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='stm run hide_run'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='pln'><a href='#n61'>61</a></p>
-<p id='n62' class='stm run hide_run'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='pln'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='stm run hide_run'><a href='#n67'>67</a></p>
-<p id='n68' class='stm run hide_run'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='stm run hide_run'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='stm run hide_run'><a href='#n73'>73</a></p>
-<p id='n74' class='stm run hide_run'><a href='#n74'>74</a></p>
-<p id='n75' class='stm run hide_run'><a href='#n75'>75</a></p>
-<p id='n76' class='stm run hide_run'><a href='#n76'>76</a></p>
-<p id='n77' class='stm run hide_run'><a href='#n77'>77</a></p>
-<p id='n78' class='stm run hide_run'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='stm run hide_run'><a href='#n80'>80</a></p>
-<p id='n81' class='pln'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='pln'><a href='#n85'>85</a></p>
-<p id='n86' class='pln'><a href='#n86'>86</a></p>
-<p id='n87' class='stm run hide_run'><a href='#n87'>87</a></p>
-<p id='n88' class='stm run hide_run'><a href='#n88'>88</a></p>
-<p id='n89' class='stm run hide_run'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='pln'><a href='#n91'>91</a></p>
-<p id='n92' class='stm run hide_run'><a href='#n92'>92</a></p>
-<p id='n93' class='stm run hide_run'><a href='#n93'>93</a></p>
-<p id='n94' class='stm run hide_run'><a href='#n94'>94</a></p>
-<p id='n95' class='stm run hide_run'><a href='#n95'>95</a></p>
-<p id='n96' class='pln'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='pln'><a href='#n99'>99</a></p>
-<p id='n100' class='pln'><a href='#n100'>100</a></p>
-<p id='n101' class='stm run hide_run'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='pln'><a href='#n103'>103</a></p>
-<p id='n104' class='pln'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='pln'><a href='#n106'>106</a></p>
-<p id='n107' class='stm run hide_run'><a href='#n107'>107</a></p>
-<p id='n108' class='stm run hide_run'><a href='#n108'>108</a></p>
-<p id='n109' class='stm run hide_run'><a href='#n109'>109</a></p>
-<p id='n110' class='stm run hide_run'><a href='#n110'>110</a></p>
-<p id='n111' class='pln'><a href='#n111'>111</a></p>
-<p id='n112' class='stm run hide_run'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='pln'><a href='#n114'>114</a></p>
-<p id='n115' class='pln'><a href='#n115'>115</a></p>
-<p id='n116' class='stm run hide_run'><a href='#n116'>116</a></p>
-<p id='n117' class='stm run hide_run'><a href='#n117'>117</a></p>
-<p id='n118' class='stm run hide_run'><a href='#n118'>118</a></p>
-<p id='n119' class='pln'><a href='#n119'>119</a></p>
-<p id='n120' class='stm run hide_run'><a href='#n120'>120</a></p>
-<p id='n121' class='pln'><a href='#n121'>121</a></p>
-<p id='n122' class='pln'><a href='#n122'>122</a></p>
-<p id='n123' class='pln'><a href='#n123'>123</a></p>
-<p id='n124' class='pln'><a href='#n124'>124</a></p>
-<p id='n125' class='pln'><a href='#n125'>125</a></p>
-<p id='n126' class='pln'><a href='#n126'>126</a></p>
-<p id='n127' class='stm run hide_run'><a href='#n127'>127</a></p>
-<p id='n128' class='stm run hide_run'><a href='#n128'>128</a></p>
-<p id='n129' class='stm run hide_run'><a href='#n129'>129</a></p>
-<p id='n130' class='pln'><a href='#n130'>130</a></p>
-<p id='n131' class='stm run hide_run'><a href='#n131'>131</a></p>
-<p id='n132' class='pln'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='stm run hide_run'><a href='#n134'>134</a></p>
-<p id='n135' class='pln'><a href='#n135'>135</a></p>
-<p id='n136' class='pln'><a href='#n136'>136</a></p>
-<p id='n137' class='pln'><a href='#n137'>137</a></p>
-<p id='n138' class='pln'><a href='#n138'>138</a></p>
-<p id='n139' class='stm run hide_run'><a href='#n139'>139</a></p>
-<p id='n140' class='stm run hide_run'><a href='#n140'>140</a></p>
-<p id='n141' class='stm run hide_run'><a href='#n141'>141</a></p>
-<p id='n142' class='pln'><a href='#n142'>142</a></p>
-<p id='n143' class='stm run hide_run'><a href='#n143'>143</a></p>
-<p id='n144' class='pln'><a href='#n144'>144</a></p>
-<p id='n145' class='pln'><a href='#n145'>145</a></p>
-<p id='n146' class='pln'><a href='#n146'>146</a></p>
-<p id='n147' class='stm run hide_run'><a href='#n147'>147</a></p>
-<p id='n148' class='stm mis'><a href='#n148'>148</a></p>
-<p id='n149' class='pln'><a href='#n149'>149</a></p>
-<p id='n150' class='stm run hide_run'><a href='#n150'>150</a></p>
-<p id='n151' class='pln'><a href='#n151'>151</a></p>
-<p id='n152' class='stm run hide_run'><a href='#n152'>152</a></p>
-<p id='n153' class='stm run hide_run'><a href='#n153'>153</a></p>
-<p id='n154' class='stm run hide_run'><a href='#n154'>154</a></p>
-<p id='n155' class='pln'><a href='#n155'>155</a></p>
-<p id='n156' class='stm run hide_run'><a href='#n156'>156</a></p>
-<p id='n157' class='pln'><a href='#n157'>157</a></p>
-<p id='n158' class='stm run hide_run'><a href='#n158'>158</a></p>
-<p id='n159' class='stm run hide_run'><a href='#n159'>159</a></p>
-<p id='n160' class='stm run hide_run'><a href='#n160'>160</a></p>
-<p id='n161' class='pln'><a href='#n161'>161</a></p>
-<p id='n162' class='stm run hide_run'><a href='#n162'>162</a></p>
-<p id='n163' class='stm run hide_run'><a href='#n163'>163</a></p>
-<p id='n164' class='stm run hide_run'><a href='#n164'>164</a></p>
-<p id='n165' class='stm run hide_run'><a href='#n165'>165</a></p>
-<p id='n166' class='stm run hide_run'><a href='#n166'>166</a></p>
-<p id='n167' class='stm run hide_run'><a href='#n167'>167</a></p>
-<p id='n168' class='pln'><a href='#n168'>168</a></p>
-<p id='n169' class='stm run hide_run'><a href='#n169'>169</a></p>
-<p id='n170' class='stm run hide_run'><a href='#n170'>170</a></p>
-<p id='n171' class='stm run hide_run'><a href='#n171'>171</a></p>
-<p id='n172' class='stm run hide_run'><a href='#n172'>172</a></p>
-<p id='n173' class='stm run hide_run'><a href='#n173'>173</a></p>
-<p id='n174' class='pln'><a href='#n174'>174</a></p>
-<p id='n175' class='stm run hide_run'><a href='#n175'>175</a></p>
-<p id='n176' class='pln'><a href='#n176'>176</a></p>
-<p id='n177' class='stm run hide_run'><a href='#n177'>177</a></p>
-<p id='n178' class='pln'><a href='#n178'>178</a></p>
-<p id='n179' class='pln'><a href='#n179'>179</a></p>
-<p id='n180' class='stm run hide_run'><a href='#n180'>180</a></p>
-<p id='n181' class='pln'><a href='#n181'>181</a></p>
-<p id='n182' class='pln'><a href='#n182'>182</a></p>
-<p id='n183' class='stm run hide_run'><a href='#n183'>183</a></p>
-<p id='n184' class='pln'><a href='#n184'>184</a></p>
-<p id='n185' class='pln'><a href='#n185'>185</a></p>
-<p id='n186' class='pln'><a href='#n186'>186</a></p>
-<p id='n187' class='pln'><a href='#n187'>187</a></p>
-<p id='n188' class='stm run hide_run'><a href='#n188'>188</a></p>
-<p id='n189' class='stm run hide_run'><a href='#n189'>189</a></p>
-<p id='n190' class='stm run hide_run'><a href='#n190'>190</a></p>
-<p id='n191' class='stm run hide_run'><a href='#n191'>191</a></p>
-<p id='n192' class='pln'><a href='#n192'>192</a></p>
-<p id='n193' class='stm run hide_run'><a href='#n193'>193</a></p>
-<p id='n194' class='pln'><a href='#n194'>194</a></p>
-<p id='n195' class='pln'><a href='#n195'>195</a></p>
-<p id='n196' class='pln'><a href='#n196'>196</a></p>
-<p id='n197' class='stm run hide_run'><a href='#n197'>197</a></p>
-<p id='n198' class='pln'><a href='#n198'>198</a></p>
-<p id='n199' class='stm run hide_run'><a href='#n199'>199</a></p>
-<p id='n200' class='stm mis'><a href='#n200'>200</a></p>
-<p id='n201' class='pln'><a href='#n201'>201</a></p>
-<p id='n202' class='stm run hide_run'><a href='#n202'>202</a></p>
-<p id='n203' class='pln'><a href='#n203'>203</a></p>
-<p id='n204' class='pln'><a href='#n204'>204</a></p>
-<p id='n205' class='stm run hide_run'><a href='#n205'>205</a></p>
-<p id='n206' class='pln'><a href='#n206'>206</a></p>
-<p id='n207' class='pln'><a href='#n207'>207</a></p>
-<p id='n208' class='pln'><a href='#n208'>208</a></p>
-<p id='n209' class='pln'><a href='#n209'>209</a></p>
-<p id='n210' class='pln'><a href='#n210'>210</a></p>
-<p id='n211' class='pln'><a href='#n211'>211</a></p>
-<p id='n212' class='pln'><a href='#n212'>212</a></p>
-<p id='n213' class='pln'><a href='#n213'>213</a></p>
-<p id='n214' class='pln'><a href='#n214'>214</a></p>
-<p id='n215' class='pln'><a href='#n215'>215</a></p>
-<p id='n216' class='pln'><a href='#n216'>216</a></p>
-<p id='n217' class='pln'><a href='#n217'>217</a></p>
-<p id='n218' class='pln'><a href='#n218'>218</a></p>
-<p id='n219' class='pln'><a href='#n219'>219</a></p>
-<p id='n220' class='pln'><a href='#n220'>220</a></p>
-<p id='n221' class='pln'><a href='#n221'>221</a></p>
-<p id='n222' class='pln'><a href='#n222'>222</a></p>
-<p id='n223' class='pln'><a href='#n223'>223</a></p>
-<p id='n224' class='pln'><a href='#n224'>224</a></p>
-<p id='n225' class='stm run hide_run'><a href='#n225'>225</a></p>
-<p id='n226' class='stm run hide_run'><a href='#n226'>226</a></p>
-<p id='n227' class='stm run hide_run'><a href='#n227'>227</a></p>
-<p id='n228' class='stm run hide_run'><a href='#n228'>228</a></p>
-<p id='n229' class='pln'><a href='#n229'>229</a></p>
-<p id='n230' class='pln'><a href='#n230'>230</a></p>
-<p id='n231' class='pln'><a href='#n231'>231</a></p>
-<p id='n232' class='stm run hide_run'><a href='#n232'>232</a></p>
-<p id='n233' class='pln'><a href='#n233'>233</a></p>
-<p id='n234' class='stm run hide_run'><a href='#n234'>234</a></p>
-<p id='n235' class='pln'><a href='#n235'>235</a></p>
-<p id='n236' class='pln'><a href='#n236'>236</a></p>
-<p id='n237' class='pln'><a href='#n237'>237</a></p>
-<p id='n238' class='pln'><a href='#n238'>238</a></p>
-<p id='n239' class='pln'><a href='#n239'>239</a></p>
-<p id='n240' class='pln'><a href='#n240'>240</a></p>
-<p id='n241' class='pln'><a href='#n241'>241</a></p>
-<p id='n242' class='pln'><a href='#n242'>242</a></p>
-<p id='n243' class='pln'><a href='#n243'>243</a></p>
-<p id='n244' class='stm run hide_run'><a href='#n244'>244</a></p>
-<p id='n245' class='stm run hide_run'><a href='#n245'>245</a></p>
-<p id='n246' class='stm run hide_run'><a href='#n246'>246</a></p>
-<p id='n247' class='stm run hide_run'><a href='#n247'>247</a></p>
-<p id='n248' class='pln'><a href='#n248'>248</a></p>
-<p id='n249' class='stm run hide_run'><a href='#n249'>249</a></p>
-<p id='n250' class='stm run hide_run'><a href='#n250'>250</a></p>
-<p id='n251' class='pln'><a href='#n251'>251</a></p>
-<p id='n252' class='stm run hide_run'><a href='#n252'>252</a></p>
-<p id='n253' class='stm run hide_run'><a href='#n253'>253</a></p>
-<p id='n254' class='pln'><a href='#n254'>254</a></p>
-<p id='n255' class='stm run hide_run'><a href='#n255'>255</a></p>
-<p id='n256' class='stm run hide_run'><a href='#n256'>256</a></p>
-<p id='n257' class='pln'><a href='#n257'>257</a></p>
-<p id='n258' class='stm run hide_run'><a href='#n258'>258</a></p>
-<p id='n259' class='stm run hide_run'><a href='#n259'>259</a></p>
-<p id='n260' class='pln'><a href='#n260'>260</a></p>
-<p id='n261' class='stm run hide_run'><a href='#n261'>261</a></p>
-<p id='n262' class='stm run hide_run'><a href='#n262'>262</a></p>
-<p id='n263' class='stm run hide_run'><a href='#n263'>263</a></p>
-<p id='n264' class='stm run hide_run'><a href='#n264'>264</a></p>
-<p id='n265' class='pln'><a href='#n265'>265</a></p>
-<p id='n266' class='stm run hide_run'><a href='#n266'>266</a></p>
-<p id='n267' class='stm run hide_run'><a href='#n267'>267</a></p>
-<p id='n268' class='stm run hide_run'><a href='#n268'>268</a></p>
-<p id='n269' class='stm mis'><a href='#n269'>269</a></p>
-<p id='n270' class='stm mis'><a href='#n270'>270</a></p>
-<p id='n271' class='stm mis'><a href='#n271'>271</a></p>
-<p id='n272' class='stm mis'><a href='#n272'>272</a></p>
-<p id='n273' class='stm mis'><a href='#n273'>273</a></p>
-<p id='n274' class='pln'><a href='#n274'>274</a></p>
-<p id='n275' class='stm run hide_run'><a href='#n275'>275</a></p>
-<p id='n276' class='stm run hide_run'><a href='#n276'>276</a></p>
-<p id='n277' class='pln'><a href='#n277'>277</a></p>
-<p id='n278' class='pln'><a href='#n278'>278</a></p>
-<p id='n279' class='stm run hide_run'><a href='#n279'>279</a></p>
-<p id='n280' class='pln'><a href='#n280'>280</a></p>
-<p id='n281' class='stm run hide_run'><a href='#n281'>281</a></p>
-<p id='n282' class='stm run hide_run'><a href='#n282'>282</a></p>
-<p id='n283' class='pln'><a href='#n283'>283</a></p>
-<p id='n284' class='stm run hide_run'><a href='#n284'>284</a></p>
-<p id='n285' class='pln'><a href='#n285'>285</a></p>
-<p id='n286' class='pln'><a href='#n286'>286</a></p>
-<p id='n287' class='pln'><a href='#n287'>287</a></p>
-<p id='n288' class='pln'><a href='#n288'>288</a></p>
-<p id='n289' class='stm run hide_run'><a href='#n289'>289</a></p>
-<p id='n290' class='pln'><a href='#n290'>290</a></p>
-<p id='n291' class='pln'><a href='#n291'>291</a></p>
-<p id='n292' class='pln'><a href='#n292'>292</a></p>
-<p id='n293' class='pln'><a href='#n293'>293</a></p>
-<p id='n294' class='pln'><a href='#n294'>294</a></p>
-<p id='n295' class='pln'><a href='#n295'>295</a></p>
-<p id='n296' class='pln'><a href='#n296'>296</a></p>
-<p id='n297' class='pln'><a href='#n297'>297</a></p>
-<p id='n298' class='pln'><a href='#n298'>298</a></p>
-<p id='n299' class='pln'><a href='#n299'>299</a></p>
-<p id='n300' class='pln'><a href='#n300'>300</a></p>
-<p id='n301' class='pln'><a href='#n301'>301</a></p>
-<p id='n302' class='stm run hide_run'><a href='#n302'>302</a></p>
-<p id='n303' class='stm run hide_run'><a href='#n303'>303</a></p>
-<p id='n304' class='stm run hide_run'><a href='#n304'>304</a></p>
-<p id='n305' class='pln'><a href='#n305'>305</a></p>
-<p id='n306' class='stm run hide_run'><a href='#n306'>306</a></p>
-<p id='n307' class='stm mis'><a href='#n307'>307</a></p>
-<p id='n308' class='stm mis'><a href='#n308'>308</a></p>
-<p id='n309' class='pln'><a href='#n309'>309</a></p>
-<p id='n310' class='stm mis'><a href='#n310'>310</a></p>
-<p id='n311' class='stm mis'><a href='#n311'>311</a></p>
-<p id='n312' class='stm mis'><a href='#n312'>312</a></p>
-<p id='n313' class='stm mis'><a href='#n313'>313</a></p>
-<p id='n314' class='stm mis'><a href='#n314'>314</a></p>
-<p id='n315' class='pln'><a href='#n315'>315</a></p>
-<p id='n316' class='stm mis'><a href='#n316'>316</a></p>
-<p id='n317' class='pln'><a href='#n317'>317</a></p>
-<p id='n318' class='pln'><a href='#n318'>318</a></p>
-<p id='n319' class='stm run hide_run'><a href='#n319'>319</a></p>
-<p id='n320' class='pln'><a href='#n320'>320</a></p>
-<p id='n321' class='pln'><a href='#n321'>321</a></p>
-<p id='n322' class='pln'><a href='#n322'>322</a></p>
-<p id='n323' class='stm run hide_run'><a href='#n323'>323</a></p>
-<p id='n324' class='stm run hide_run'><a href='#n324'>324</a></p>
-<p id='n325' class='stm run hide_run'><a href='#n325'>325</a></p>
-<p id='n326' class='stm run hide_run'><a href='#n326'>326</a></p>
-<p id='n327' class='pln'><a href='#n327'>327</a></p>
-<p id='n328' class='stm run hide_run'><a href='#n328'>328</a></p>
-<p id='n329' class='pln'><a href='#n329'>329</a></p>
-<p id='n330' class='pln'><a href='#n330'>330</a></p>
-<p id='n331' class='pln'><a href='#n331'>331</a></p>
-<p id='n332' class='pln'><a href='#n332'>332</a></p>
-<p id='n333' class='stm run hide_run'><a href='#n333'>333</a></p>
-<p id='n334' class='pln'><a href='#n334'>334</a></p>
-<p id='n335' class='stm run hide_run'><a href='#n335'>335</a></p>
-<p id='n336' class='stm run hide_run'><a href='#n336'>336</a></p>
-<p id='n337' class='stm run hide_run'><a href='#n337'>337</a></p>
-<p id='n338' class='pln'><a href='#n338'>338</a></p>
-<p id='n339' class='stm run hide_run'><a href='#n339'>339</a></p>
-<p id='n340' class='pln'><a href='#n340'>340</a></p>
-<p id='n341' class='pln'><a href='#n341'>341</a></p>
-<p id='n342' class='pln'><a href='#n342'>342</a></p>
-<p id='n343' class='pln'><a href='#n343'>343</a></p>
-<p id='n344' class='pln'><a href='#n344'>344</a></p>
-<p id='n345' class='stm run hide_run'><a href='#n345'>345</a></p>
-<p id='n346' class='stm run hide_run'><a href='#n346'>346</a></p>
-<p id='n347' class='pln'><a href='#n347'>347</a></p>
-<p id='n348' class='stm run hide_run'><a href='#n348'>348</a></p>
-<p id='n349' class='stm run hide_run'><a href='#n349'>349</a></p>
-<p id='n350' class='pln'><a href='#n350'>350</a></p>
-<p id='n351' class='stm run hide_run'><a href='#n351'>351</a></p>
-<p id='n352' class='stm mis'><a href='#n352'>352</a></p>
-<p id='n353' class='pln'><a href='#n353'>353</a></p>
-<p id='n354' class='stm run hide_run'><a href='#n354'>354</a></p>
-<p id='n355' class='pln'><a href='#n355'>355</a></p>
-<p id='n356' class='stm run hide_run'><a href='#n356'>356</a></p>
-<p id='n357' class='pln'><a href='#n357'>357</a></p>
-<p id='n358' class='pln'><a href='#n358'>358</a></p>
-<p id='n359' class='pln'><a href='#n359'>359</a></p>
-<p id='n360' class='stm run hide_run'><a href='#n360'>360</a></p>
-<p id='n361' class='stm run hide_run'><a href='#n361'>361</a></p>
-<p id='n362' class='pln'><a href='#n362'>362</a></p>
-<p id='n363' class='stm run hide_run'><a href='#n363'>363</a></p>
-<p id='n364' class='stm mis'><a href='#n364'>364</a></p>
-<p id='n365' class='pln'><a href='#n365'>365</a></p>
-<p id='n366' class='stm run hide_run'><a href='#n366'>366</a></p>
-<p id='n367' class='stm run hide_run'><a href='#n367'>367</a></p>
-<p id='n368' class='stm run hide_run'><a href='#n368'>368</a></p>
-<p id='n369' class='stm mis'><a href='#n369'>369</a></p>
-<p id='n370' class='stm run hide_run'><a href='#n370'>370</a></p>
-<p id='n371' class='stm run hide_run'><a href='#n371'>371</a></p>
-<p id='n372' class='stm run hide_run'><a href='#n372'>372</a></p>
-<p id='n373' class='pln'><a href='#n373'>373</a></p>
-<p id='n374' class='stm run hide_run'><a href='#n374'>374</a></p>
-<p id='n375' class='stm run hide_run'><a href='#n375'>375</a></p>
-<p id='n376' class='stm run hide_run'><a href='#n376'>376</a></p>
-<p id='n377' class='stm run hide_run'><a href='#n377'>377</a></p>
-<p id='n378' class='stm run hide_run'><a href='#n378'>378</a></p>
-<p id='n379' class='pln'><a href='#n379'>379</a></p>
-<p id='n380' class='stm run hide_run'><a href='#n380'>380</a></p>
-<p id='n381' class='stm run hide_run'><a href='#n381'>381</a></p>
-<p id='n382' class='pln'><a href='#n382'>382</a></p>
-<p id='n383' class='pln'><a href='#n383'>383</a></p>
-<p id='n384' class='pln'><a href='#n384'>384</a></p>
-<p id='n385' class='pln'><a href='#n385'>385</a></p>
-<p id='n386' class='stm run hide_run'><a href='#n386'>386</a></p>
-<p id='n387' class='stm run hide_run'><a href='#n387'>387</a></p>
-<p id='n388' class='pln'><a href='#n388'>388</a></p>
-<p id='n389' class='stm run hide_run'><a href='#n389'>389</a></p>
-<p id='n390' class='stm mis'><a href='#n390'>390</a></p>
-<p id='n391' class='pln'><a href='#n391'>391</a></p>
-<p id='n392' class='stm run hide_run'><a href='#n392'>392</a></p>
-<p id='n393' class='stm run hide_run'><a href='#n393'>393</a></p>
-<p id='n394' class='stm run hide_run'><a href='#n394'>394</a></p>
-<p id='n395' class='pln'><a href='#n395'>395</a></p>
-<p id='n396' class='stm run hide_run'><a href='#n396'>396</a></p>
-<p id='n397' class='stm mis'><a href='#n397'>397</a></p>
-<p id='n398' class='pln'><a href='#n398'>398</a></p>
-<p id='n399' class='stm run hide_run'><a href='#n399'>399</a></p>
-<p id='n400' class='stm run hide_run'><a href='#n400'>400</a></p>
-<p id='n401' class='pln'><a href='#n401'>401</a></p>
-<p id='n402' class='stm run hide_run'><a href='#n402'>402</a></p>
-<p id='n403' class='stm run hide_run'><a href='#n403'>403</a></p>
-<p id='n404' class='pln'><a href='#n404'>404</a></p>
-<p id='n405' class='stm run hide_run'><a href='#n405'>405</a></p>
-<p id='n406' class='pln'><a href='#n406'>406</a></p>
-<p id='n407' class='stm run hide_run'><a href='#n407'>407</a></p>
-<p id='n408' class='pln'><a href='#n408'>408</a></p>
-<p id='n409' class='stm run hide_run'><a href='#n409'>409</a></p>
-<p id='n410' class='pln'><a href='#n410'>410</a></p>
-<p id='n411' class='pln'><a href='#n411'>411</a></p>
-<p id='n412' class='pln'><a href='#n412'>412</a></p>
-<p id='n413' class='stm run hide_run'><a href='#n413'>413</a></p>
-<p id='n414' class='stm run hide_run'><a href='#n414'>414</a></p>
-<p id='n415' class='stm run hide_run'><a href='#n415'>415</a></p>
-<p id='n416' class='stm run hide_run'><a href='#n416'>416</a></p>
-<p id='n417' class='stm run hide_run'><a href='#n417'>417</a></p>
-<p id='n418' class='pln'><a href='#n418'>418</a></p>
-<p id='n419' class='stm run hide_run'><a href='#n419'>419</a></p>
-<p id='n420' class='pln'><a href='#n420'>420</a></p>
-<p id='n421' class='stm run hide_run'><a href='#n421'>421</a></p>
-<p id='n422' class='pln'><a href='#n422'>422</a></p>
-<p id='n423' class='pln'><a href='#n423'>423</a></p>
-<p id='n424' class='pln'><a href='#n424'>424</a></p>
-<p id='n425' class='stm run hide_run'><a href='#n425'>425</a></p>
-<p id='n426' class='stm run hide_run'><a href='#n426'>426</a></p>
-<p id='n427' class='stm run hide_run'><a href='#n427'>427</a></p>
-<p id='n428' class='stm run hide_run'><a href='#n428'>428</a></p>
-<p id='n429' class='stm run hide_run'><a href='#n429'>429</a></p>
-<p id='n430' class='pln'><a href='#n430'>430</a></p>
-<p id='n431' class='stm run hide_run'><a href='#n431'>431</a></p>
-<p id='n432' class='pln'><a href='#n432'>432</a></p>
-<p id='n433' class='stm run hide_run'><a href='#n433'>433</a></p>
-<p id='n434' class='pln'><a href='#n434'>434</a></p>
-<p id='n435' class='pln'><a href='#n435'>435</a></p>
-<p id='n436' class='pln'><a href='#n436'>436</a></p>
-<p id='n437' class='pln'><a href='#n437'>437</a></p>
-<p id='n438' class='pln'><a href='#n438'>438</a></p>
-<p id='n439' class='stm run hide_run'><a href='#n439'>439</a></p>
-<p id='n440' class='stm run hide_run'><a href='#n440'>440</a></p>
-<p id='n441' class='stm run hide_run'><a href='#n441'>441</a></p>
-<p id='n442' class='pln'><a href='#n442'>442</a></p>
-<p id='n443' class='stm run hide_run'><a href='#n443'>443</a></p>
-<p id='n444' class='stm run hide_run'><a href='#n444'>444</a></p>
-<p id='n445' class='pln'><a href='#n445'>445</a></p>
-<p id='n446' class='stm run hide_run'><a href='#n446'>446</a></p>
-<p id='n447' class='stm run hide_run'><a href='#n447'>447</a></p>
-<p id='n448' class='pln'><a href='#n448'>448</a></p>
-<p id='n449' class='stm run hide_run'><a href='#n449'>449</a></p>
-<p id='n450' class='stm run hide_run'><a href='#n450'>450</a></p>
-<p id='n451' class='pln'><a href='#n451'>451</a></p>
-<p id='n452' class='pln'><a href='#n452'>452</a></p>
-<p id='n453' class='pln'><a href='#n453'>453</a></p>
-<p id='n454' class='stm run hide_run'><a href='#n454'>454</a></p>
-<p id='n455' class='stm run hide_run'><a href='#n455'>455</a></p>
-<p id='n456' class='stm run hide_run'><a href='#n456'>456</a></p>
-<p id='n457' class='stm run hide_run'><a href='#n457'>457</a></p>
-<p id='n458' class='pln'><a href='#n458'>458</a></p>
-<p id='n459' class='stm run hide_run'><a href='#n459'>459</a></p>
-<p id='n460' class='pln'><a href='#n460'>460</a></p>
-<p id='n461' class='pln'><a href='#n461'>461</a></p>
-<p id='n462' class='pln'><a href='#n462'>462</a></p>
-<p id='n463' class='pln'><a href='#n463'>463</a></p>
-<p id='n464' class='pln'><a href='#n464'>464</a></p>
-<p id='n465' class='pln'><a href='#n465'>465</a></p>
-<p id='n466' class='pln'><a href='#n466'>466</a></p>
-<p id='n467' class='pln'><a href='#n467'>467</a></p>
-<p id='n468' class='stm run hide_run'><a href='#n468'>468</a></p>
-<p id='n469' class='pln'><a href='#n469'>469</a></p>
-<p id='n470' class='stm mis'><a href='#n470'>470</a></p>
-<p id='n471' class='pln'><a href='#n471'>471</a></p>
-<p id='n472' class='pln'><a href='#n472'>472</a></p>
-<p id='n473' class='stm run hide_run'><a href='#n473'>473</a></p>
-<p id='n474' class='stm run hide_run'><a href='#n474'>474</a></p>
-<p id='n475' class='stm run hide_run'><a href='#n475'>475</a></p>
-<p id='n476' class='pln'><a href='#n476'>476</a></p>
-<p id='n477' class='stm run hide_run'><a href='#n477'>477</a></p>
-<p id='n478' class='stm run hide_run'><a href='#n478'>478</a></p>
-<p id='n479' class='stm run hide_run'><a href='#n479'>479</a></p>
-<p id='n480' class='stm run hide_run'><a href='#n480'>480</a></p>
-<p id='n481' class='pln'><a href='#n481'>481</a></p>
-<p id='n482' class='pln'><a href='#n482'>482</a></p>
-<p id='n483' class='stm run hide_run'><a href='#n483'>483</a></p>
-<p id='n484' class='stm run hide_run'><a href='#n484'>484</a></p>
-<p id='n485' class='stm run hide_run'><a href='#n485'>485</a></p>
-<p id='n486' class='pln'><a href='#n486'>486</a></p>
-<p id='n487' class='stm run hide_run'><a href='#n487'>487</a></p>
-<p id='n488' class='pln'><a href='#n488'>488</a></p>
-<p id='n489' class='pln'><a href='#n489'>489</a></p>
-<p id='n490' class='pln'><a href='#n490'>490</a></p>
-<p id='n491' class='pln'><a href='#n491'>491</a></p>
-<p id='n492' class='stm run hide_run'><a href='#n492'>492</a></p>
-<p id='n493' class='pln'><a href='#n493'>493</a></p>
-<p id='n494' class='pln'><a href='#n494'>494</a></p>
-<p id='n495' class='pln'><a href='#n495'>495</a></p>
-<p id='n496' class='pln'><a href='#n496'>496</a></p>
-<p id='n497' class='stm run hide_run'><a href='#n497'>497</a></p>
-<p id='n498' class='pln'><a href='#n498'>498</a></p>
-<p id='n499' class='stm run hide_run'><a href='#n499'>499</a></p>
-<p id='n500' class='stm run hide_run'><a href='#n500'>500</a></p>
-<p id='n501' class='pln'><a href='#n501'>501</a></p>
-<p id='n502' class='stm run hide_run'><a href='#n502'>502</a></p>
-<p id='n503' class='stm run hide_run'><a href='#n503'>503</a></p>
-<p id='n504' class='pln'><a href='#n504'>504</a></p>
-<p id='n505' class='stm run hide_run'><a href='#n505'>505</a></p>
-<p id='n506' class='stm run hide_run'><a href='#n506'>506</a></p>
-<p id='n507' class='pln'><a href='#n507'>507</a></p>
-<p id='n508' class='stm run hide_run'><a href='#n508'>508</a></p>
-<p id='n509' class='pln'><a href='#n509'>509</a></p>
-<p id='n510' class='pln'><a href='#n510'>510</a></p>
-<p id='n511' class='pln'><a href='#n511'>511</a></p>
-<p id='n512' class='stm run hide_run'><a href='#n512'>512</a></p>
-<p id='n513' class='stm run hide_run'><a href='#n513'>513</a></p>
-<p id='n514' class='pln'><a href='#n514'>514</a></p>
-<p id='n515' class='stm run hide_run'><a href='#n515'>515</a></p>
-<p id='n516' class='stm run hide_run'><a href='#n516'>516</a></p>
-<p id='n517' class='stm run hide_run'><a href='#n517'>517</a></p>
-<p id='n518' class='stm run hide_run'><a href='#n518'>518</a></p>
-<p id='n519' class='pln'><a href='#n519'>519</a></p>
-<p id='n520' class='stm run hide_run'><a href='#n520'>520</a></p>
-<p id='n521' class='stm run hide_run'><a href='#n521'>521</a></p>
-<p id='n522' class='pln'><a href='#n522'>522</a></p>
-<p id='n523' class='stm run hide_run'><a href='#n523'>523</a></p>
-<p id='n524' class='stm run hide_run'><a href='#n524'>524</a></p>
-<p id='n525' class='stm run hide_run'><a href='#n525'>525</a></p>
-<p id='n526' class='stm run hide_run'><a href='#n526'>526</a></p>
-<p id='n527' class='stm run hide_run'><a href='#n527'>527</a></p>
-<p id='n528' class='pln'><a href='#n528'>528</a></p>
-<p id='n529' class='stm run hide_run'><a href='#n529'>529</a></p>
-<p id='n530' class='stm run hide_run'><a href='#n530'>530</a></p>
-<p id='n531' class='stm run hide_run'><a href='#n531'>531</a></p>
-<p id='n532' class='stm run hide_run'><a href='#n532'>532</a></p>
-<p id='n533' class='pln'><a href='#n533'>533</a></p>
-<p id='n534' class='stm run hide_run'><a href='#n534'>534</a></p>
-<p id='n535' class='stm run hide_run'><a href='#n535'>535</a></p>
-<p id='n536' class='stm run hide_run'><a href='#n536'>536</a></p>
-<p id='n537' class='pln'><a href='#n537'>537</a></p>
-<p id='n538' class='stm run hide_run'><a href='#n538'>538</a></p>
-<p id='n539' class='stm run hide_run'><a href='#n539'>539</a></p>
-<p id='n540' class='pln'><a href='#n540'>540</a></p>
-<p id='n541' class='pln'><a href='#n541'>541</a></p>
-<p id='n542' class='pln'><a href='#n542'>542</a></p>
-<p id='n543' class='pln'><a href='#n543'>543</a></p>
-<p id='n544' class='pln'><a href='#n544'>544</a></p>
-<p id='n545' class='pln'><a href='#n545'>545</a></p>
-<p id='n546' class='pln'><a href='#n546'>546</a></p>
-<p id='n547' class='pln'><a href='#n547'>547</a></p>
-<p id='n548' class='pln'><a href='#n548'>548</a></p>
-<p id='n549' class='pln'><a href='#n549'>549</a></p>
-<p id='n550' class='pln'><a href='#n550'>550</a></p>
-<p id='n551' class='pln'><a href='#n551'>551</a></p>
-<p id='n552' class='pln'><a href='#n552'>552</a></p>
-<p id='n553' class='pln'><a href='#n553'>553</a></p>
-<p id='n554' class='pln'><a href='#n554'>554</a></p>
-<p id='n555' class='pln'><a href='#n555'>555</a></p>
-<p id='n556' class='pln'><a href='#n556'>556</a></p>
-<p id='n557' class='pln'><a href='#n557'>557</a></p>
-<p id='n558' class='pln'><a href='#n558'>558</a></p>
-<p id='n559' class='pln'><a href='#n559'>559</a></p>
-<p id='n560' class='pln'><a href='#n560'>560</a></p>
-<p id='n561' class='pln'><a href='#n561'>561</a></p>
-<p id='n562' class='pln'><a href='#n562'>562</a></p>
-<p id='n563' class='pln'><a href='#n563'>563</a></p>
-<p id='n564' class='pln'><a href='#n564'>564</a></p>
-<p id='n565' class='stm run hide_run'><a href='#n565'>565</a></p>
-<p id='n566' class='pln'><a href='#n566'>566</a></p>
-<p id='n567' class='pln'><a href='#n567'>567</a></p>
-<p id='n568' class='pln'><a href='#n568'>568</a></p>
-<p id='n569' class='pln'><a href='#n569'>569</a></p>
-<p id='n570' class='stm run hide_run'><a href='#n570'>570</a></p>
-<p id='n571' class='stm mis'><a href='#n571'>571</a></p>
-<p id='n572' class='pln'><a href='#n572'>572</a></p>
-<p id='n573' class='stm run hide_run'><a href='#n573'>573</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Renderers are used to serialize a response into specific media types.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>They give us a generic way of being able to handle various media types</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>on the response, such as JSON encoded data or HTML output.</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='str'>REST framework also provides an HTML renderer the renders the browsable API.</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>copy</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>json</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span> <span class='key'>import</span> <span class='nam'>forms</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>exceptions</span> <span class='key'>import</span> <span class='nam'>ImproperlyConfigured</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>http</span><span class='op'>.</span><span class='nam'>multipartparser</span> <span class='key'>import</span> <span class='nam'>parse_header</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>template</span> <span class='key'>import</span> <span class='nam'>RequestContext</span><span class='op'>,</span> <span class='nam'>loader</span><span class='op'>,</span> <span class='nam'>Template</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>xmlutils</span> <span class='key'>import</span> <span class='nam'>SimplerXMLGenerator</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>StringIO</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>six</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>smart_text</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>yaml</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>settings</span> <span class='key'>import</span> <span class='nam'>api_settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>request</span> <span class='key'>import</span> <span class='nam'>clone_request</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>utils</span> <span class='key'>import</span> <span class='nam'>encoders</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>breadcrumbs</span> <span class='key'>import</span> <span class='nam'>get_breadcrumbs</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>formatting</span> <span class='key'>import</span> <span class='nam'>get_view_name</span><span class='op'>,</span> <span class='nam'>get_view_description</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>exceptions</span><span class='op'>,</span> <span class='nam'>parsers</span><span class='op'>,</span> <span class='nam'>status</span><span class='op'>,</span> <span class='nam'>VERSION</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BaseRenderer</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='str'>&nbsp; &nbsp; All renderers should extend this class, setting the `media_type`</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='str'>&nbsp; &nbsp; and `format` attributes, and override the `.render()` method.</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>charset</span> <span class='op'>=</span> <span class='str'>&#39;utf-8&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>render</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>accepted_media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>renderer_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>NotImplemented</span><span class='op'>(</span><span class='str'>&#39;Renderer class requires .render() to be implemented&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>JSONRenderer</span><span class='op'>(</span><span class='nam'>BaseRenderer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='str'>&nbsp; &nbsp; Renderer which serializes to JSON.</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'><span class='str'>&nbsp; &nbsp; Applies JSON&#39;s backslash-u character escaping for non-ascii characters.</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='str'>&#39;application/json&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='str'>&#39;json&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>encoder_class</span> <span class='op'>=</span> <span class='nam'>encoders</span><span class='op'>.</span><span class='nam'>JSONEncoder</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ensure_ascii</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>charset</span> <span class='op'>=</span> <span class='str'>&#39;utf-8&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'>&nbsp; &nbsp; <span class='com'># Note that JSON encodings must be utf-8, utf-16 or utf-32.</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'>&nbsp; &nbsp; <span class='com'># See: http://www.ietf.org/rfc/rfc4627.txt</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>render</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>accepted_media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>renderer_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Render `data` into JSON.</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>data</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If &#39;indent&#39; is provided in the context, then pretty print the result.</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># E.g. If we&#39;re being called by the BrowsableAPIRenderer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>renderer_context</span> <span class='op'>=</span> <span class='nam'>renderer_context</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>indent</span> <span class='op'>=</span> <span class='nam'>renderer_context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;indent&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>accepted_media_type</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If the media type looks like &#39;application/json; indent=4&#39;,</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># then pretty print the result.</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>base_media_type</span><span class='op'>,</span> <span class='nam'>params</span> <span class='op'>=</span> <span class='nam'>parse_header</span><span class='op'>(</span><span class='nam'>accepted_media_type</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='str'>&#39;ascii&#39;</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>indent</span> <span class='op'>=</span> <span class='nam'>params</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;indent&#39;</span><span class='op'>,</span> <span class='nam'>indent</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>indent</span> <span class='op'>=</span> <span class='nam'>max</span><span class='op'>(</span><span class='nam'>min</span><span class='op'>(</span><span class='nam'>int</span><span class='op'>(</span><span class='nam'>indent</span><span class='op'>)</span><span class='op'>,</span> <span class='num'>8</span><span class='op'>)</span><span class='op'>,</span> <span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>ValueError</span><span class='op'>,</span> <span class='nam'>TypeError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>indent</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>json</span><span class='op'>.</span><span class='nam'>dumps</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>cls</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>encoder_class</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>indent</span><span class='op'>=</span><span class='nam'>indent</span><span class='op'>,</span> <span class='nam'>ensure_ascii</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>ensure_ascii</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># On python 2.x json.dumps() returns bytestrings if ensure_ascii=True,</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># but if ensure_ascii=False, the return type is underspecified,</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># and may (or may not) be unicode.</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># On python 3.x json.dumps() returns unicode strings.</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>ret</span><span class='op'>,</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>text_type</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>bytes</span><span class='op'>(</span><span class='nam'>ret</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>charset</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>UnicodeJSONRenderer</span><span class='op'>(</span><span class='nam'>JSONRenderer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ensure_ascii</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>charset</span> <span class='op'>=</span> <span class='str'>&#39;utf-8&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='stm run hide_run'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='pln'><span class='str'>&nbsp; &nbsp; Renderer which serializes to JSON.</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'><span class='str'>&nbsp; &nbsp; Does *not* apply JSON&#39;s character escaping for non-ascii characters.</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>JSONPRenderer</span><span class='op'>(</span><span class='nam'>JSONRenderer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='pln'><span class='str'>&nbsp; &nbsp; Renderer which serializes to json,</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='pln'><span class='str'>&nbsp; &nbsp; wrapping the json output in a callback function.</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='str'>&#39;application/javascript&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='str'>&#39;jsonp&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>callback_parameter</span> <span class='op'>=</span> <span class='str'>&#39;callback&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>default_callback</span> <span class='op'>=</span> <span class='str'>&#39;callback&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_callback</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>renderer_context</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Determine the name of the callback to wrap around the json output.</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>renderer_context</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;request&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>params</span> <span class='op'>=</span> <span class='nam'>request</span> <span class='key'>and</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>QUERY_PARAMS</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>params</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>callback_parameter</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_callback</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>render</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>accepted_media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>renderer_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Renders into jsonp, wrapping the json output in a callback function.</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Clients may set the callback function name using a query parameter</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; on the URL, for example: ?callback=exampleCallbackName</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>renderer_context</span> <span class='op'>=</span> <span class='nam'>renderer_context</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>callback</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_callback</span><span class='op'>(</span><span class='nam'>renderer_context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>json</span> <span class='op'>=</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>JSONPRenderer</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>render</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>accepted_media_type</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>renderer_context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>callback</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>charset</span><span class='op'>)</span> <span class='op'>+</span> <span class='nam'>b</span><span class='str'>&#39;(&#39;</span> <span class='op'>+</span> <span class='nam'>json</span> <span class='op'>+</span> <span class='nam'>b</span><span class='str'>&#39;);&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>XMLRenderer</span><span class='op'>(</span><span class='nam'>BaseRenderer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='pln'><span class='str'>&nbsp; &nbsp; Renderer which serializes to XML.</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='str'>&#39;application/xml&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='str'>&#39;xml&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>charset</span> <span class='op'>=</span> <span class='str'>&#39;utf-8&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>render</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>accepted_media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>renderer_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Renders *obj* into serialized XML.</span><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>data</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>stream</span> <span class='op'>=</span> <span class='nam'>StringIO</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>xml</span> <span class='op'>=</span> <span class='nam'>SimplerXMLGenerator</span><span class='op'>(</span><span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>charset</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>xml</span><span class='op'>.</span><span class='nam'>startDocument</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>xml</span><span class='op'>.</span><span class='nam'>startElement</span><span class='op'>(</span><span class='str'>&quot;root&quot;</span><span class='op'>,</span> <span class='op'>{</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_to_xml</span><span class='op'>(</span><span class='nam'>xml</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>xml</span><span class='op'>.</span><span class='nam'>endElement</span><span class='op'>(</span><span class='str'>&quot;root&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>xml</span><span class='op'>.</span><span class='nam'>endDocument</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>stream</span><span class='op'>.</span><span class='nam'>getvalue</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_to_xml</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>xml</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>list</span><span class='op'>,</span> <span class='nam'>tuple</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>data</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>xml</span><span class='op'>.</span><span class='nam'>startElement</span><span class='op'>(</span><span class='str'>&quot;list-item&quot;</span><span class='op'>,</span> <span class='op'>{</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_to_xml</span><span class='op'>(</span><span class='nam'>xml</span><span class='op'>,</span> <span class='nam'>item</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>xml</span><span class='op'>.</span><span class='nam'>endElement</span><span class='op'>(</span><span class='str'>&quot;list-item&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>dict</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span><span class='op'>,</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>iteritems</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>xml</span><span class='op'>.</span><span class='nam'>startElement</span><span class='op'>(</span><span class='nam'>key</span><span class='op'>,</span> <span class='op'>{</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_to_xml</span><span class='op'>(</span><span class='nam'>xml</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>xml</span><span class='op'>.</span><span class='nam'>endElement</span><span class='op'>(</span><span class='nam'>key</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>data</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Don&#39;t output any value</span><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>xml</span><span class='op'>.</span><span class='nam'>characters</span><span class='op'>(</span><span class='nam'>smart_text</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>YAMLRenderer</span><span class='op'>(</span><span class='nam'>BaseRenderer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='pln'><span class='str'>&nbsp; &nbsp; Renderer which serializes to YAML.</span><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='str'>&#39;application/yaml&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='str'>&#39;yaml&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>encoder</span> <span class='op'>=</span> <span class='nam'>encoders</span><span class='op'>.</span><span class='nam'>SafeDumper</span><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>charset</span> <span class='op'>=</span> <span class='str'>&#39;utf-8&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t193' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>render</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>accepted_media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>renderer_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t194' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t195' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Renders *obj* into serialized YAML.</span><span class='strut'>&nbsp;</span></p>
-<p id='t196' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t197' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>yaml</span><span class='op'>,</span> <span class='str'>&#39;YAMLRenderer requires pyyaml to be installed&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t198' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t199' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>data</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t200' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t201' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t202' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>yaml</span><span class='op'>.</span><span class='nam'>dump</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>stream</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>charset</span><span class='op'>,</span> <span class='nam'>Dumper</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>encoder</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t203' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t204' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t205' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>TemplateHTMLRenderer</span><span class='op'>(</span><span class='nam'>BaseRenderer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t206' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t207' class='pln'><span class='str'>&nbsp; &nbsp; An HTML renderer for use with templates.</span><span class='strut'>&nbsp;</span></p>
-<p id='t208' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t209' class='pln'><span class='str'>&nbsp; &nbsp; The data supplied to the Response object should be a dictionary that will</span><span class='strut'>&nbsp;</span></p>
-<p id='t210' class='pln'><span class='str'>&nbsp; &nbsp; be used as context for the template.</span><span class='strut'>&nbsp;</span></p>
-<p id='t211' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t212' class='pln'><span class='str'>&nbsp; &nbsp; The template name is determined by (in order of preference):</span><span class='strut'>&nbsp;</span></p>
-<p id='t213' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t214' class='pln'><span class='str'>&nbsp; &nbsp; 1. An explicit `.template_name` attribute set on the response.</span><span class='strut'>&nbsp;</span></p>
-<p id='t215' class='pln'><span class='str'>&nbsp; &nbsp; 2. An explicit `.template_name` attribute set on this class.</span><span class='strut'>&nbsp;</span></p>
-<p id='t216' class='pln'><span class='str'>&nbsp; &nbsp; 3. The return result of calling `view.get_template_names()`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t217' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t218' class='pln'><span class='str'>&nbsp; &nbsp; For example:</span><span class='strut'>&nbsp;</span></p>
-<p id='t219' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; data = {&#39;users&#39;: User.objects.all()}</span><span class='strut'>&nbsp;</span></p>
-<p id='t220' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; return Response(data, template_name=&#39;users.html&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t221' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t222' class='pln'><span class='str'>&nbsp; &nbsp; For pre-rendered HTML, see StaticHTMLRenderer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t223' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t224' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t225' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='str'>&#39;text/html&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t226' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='str'>&#39;html&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t227' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>template_name</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t228' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>exception_template_names</span> <span class='op'>=</span> <span class='op'>[</span><span class='strut'>&nbsp;</span></p>
-<p id='t229' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;%(status_code)s.html&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t230' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;api_exception.html&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t231' class='pln'>&nbsp; &nbsp; <span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t232' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>charset</span> <span class='op'>=</span> <span class='str'>&#39;utf-8&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t233' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t234' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>render</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>accepted_media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>renderer_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t235' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t236' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Renders data to HTML, using Django&#39;s standard template rendering.</span><span class='strut'>&nbsp;</span></p>
-<p id='t237' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t238' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The template name is determined by (in order of preference):</span><span class='strut'>&nbsp;</span></p>
-<p id='t239' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t240' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; 1. An explicit .template_name set on the response.</span><span class='strut'>&nbsp;</span></p>
-<p id='t241' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; 2. An explicit .template_name set on this class.</span><span class='strut'>&nbsp;</span></p>
-<p id='t242' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; 3. The return result of calling view.get_template_names().</span><span class='strut'>&nbsp;</span></p>
-<p id='t243' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t244' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>renderer_context</span> <span class='op'>=</span> <span class='nam'>renderer_context</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t245' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span> <span class='op'>=</span> <span class='nam'>renderer_context</span><span class='op'>[</span><span class='str'>&#39;view&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t246' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>renderer_context</span><span class='op'>[</span><span class='str'>&#39;request&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t247' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>response</span> <span class='op'>=</span> <span class='nam'>renderer_context</span><span class='op'>[</span><span class='str'>&#39;response&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t248' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t249' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>response</span><span class='op'>.</span><span class='nam'>exception</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t250' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>template</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_exception_template</span><span class='op'>(</span><span class='nam'>response</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t251' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t252' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>template_names</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_template_names</span><span class='op'>(</span><span class='nam'>response</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t253' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>template</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>resolve_template</span><span class='op'>(</span><span class='nam'>template_names</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t254' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t255' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>context</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>resolve_context</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>response</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t256' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>template</span><span class='op'>.</span><span class='nam'>render</span><span class='op'>(</span><span class='nam'>context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t257' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t258' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>resolve_template</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>template_names</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t259' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>loader</span><span class='op'>.</span><span class='nam'>select_template</span><span class='op'>(</span><span class='nam'>template_names</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t260' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t261' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>resolve_context</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>response</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t262' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>response</span><span class='op'>.</span><span class='nam'>exception</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t263' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>data</span><span class='op'>[</span><span class='str'>&#39;status_code&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>response</span><span class='op'>.</span><span class='nam'>status_code</span><span class='strut'>&nbsp;</span></p>
-<p id='t264' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>RequestContext</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t265' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t266' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_template_names</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>response</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t267' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>response</span><span class='op'>.</span><span class='nam'>template_name</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t268' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>response</span><span class='op'>.</span><span class='nam'>template_name</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t269' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>template_name</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t270' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>template_name</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t271' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;get_template_names&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t272' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>view</span><span class='op'>.</span><span class='nam'>get_template_names</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t273' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ImproperlyConfigured</span><span class='op'>(</span><span class='str'>&#39;Returned a template response with no template_name&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t274' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t275' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_exception_template</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>response</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t276' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>template_names</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>name</span> <span class='op'>%</span> <span class='op'>{</span><span class='str'>&#39;status_code&#39;</span><span class='op'>:</span> <span class='nam'>response</span><span class='op'>.</span><span class='nam'>status_code</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t277' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>name</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>exception_template_names</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t278' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t279' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t280' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Try to find an appropriate error template</span><span class='strut'>&nbsp;</span></p>
-<p id='t281' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>resolve_template</span><span class='op'>(</span><span class='nam'>template_names</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t282' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>Exception</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t283' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Fall back to using eg &#39;404 Not Found&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t284' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Template</span><span class='op'>(</span><span class='str'>&#39;%d %s&#39;</span> <span class='op'>%</span> <span class='op'>(</span><span class='nam'>response</span><span class='op'>.</span><span class='nam'>status_code</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t285' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>response</span><span class='op'>.</span><span class='nam'>status_text</span><span class='op'>.</span><span class='nam'>title</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t286' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t287' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t288' class='pln'><span class='com'># Note, subclass TemplateHTMLRenderer simply for the exception behavior</span><span class='strut'>&nbsp;</span></p>
-<p id='t289' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>StaticHTMLRenderer</span><span class='op'>(</span><span class='nam'>TemplateHTMLRenderer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t290' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t291' class='pln'><span class='str'>&nbsp; &nbsp; An HTML renderer class that simply returns pre-rendered HTML.</span><span class='strut'>&nbsp;</span></p>
-<p id='t292' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t293' class='pln'><span class='str'>&nbsp; &nbsp; The data supplied to the Response object should be a string representing</span><span class='strut'>&nbsp;</span></p>
-<p id='t294' class='pln'><span class='str'>&nbsp; &nbsp; the pre-rendered HTML content.</span><span class='strut'>&nbsp;</span></p>
-<p id='t295' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t296' class='pln'><span class='str'>&nbsp; &nbsp; For example:</span><span class='strut'>&nbsp;</span></p>
-<p id='t297' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; data = &#39;&lt;html&gt;&lt;body&gt;example&lt;/body&gt;&lt;/html&gt;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t298' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; return Response(data)</span><span class='strut'>&nbsp;</span></p>
-<p id='t299' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t300' class='pln'><span class='str'>&nbsp; &nbsp; For template rendered HTML, see TemplateHTMLRenderer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t301' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t302' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='str'>&#39;text/html&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t303' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='str'>&#39;html&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t304' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>charset</span> <span class='op'>=</span> <span class='str'>&#39;utf-8&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t305' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t306' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>render</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>accepted_media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>renderer_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t307' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>renderer_context</span> <span class='op'>=</span> <span class='nam'>renderer_context</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t308' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>response</span> <span class='op'>=</span> <span class='nam'>renderer_context</span><span class='op'>[</span><span class='str'>&#39;response&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t309' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t310' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>response</span> <span class='key'>and</span> <span class='nam'>response</span><span class='op'>.</span><span class='nam'>exception</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t311' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>renderer_context</span><span class='op'>[</span><span class='str'>&#39;request&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t312' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>template</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_exception_template</span><span class='op'>(</span><span class='nam'>response</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t313' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>context</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>resolve_context</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>response</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t314' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>template</span><span class='op'>.</span><span class='nam'>render</span><span class='op'>(</span><span class='nam'>context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t315' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t316' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>data</span><span class='strut'>&nbsp;</span></p>
-<p id='t317' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t318' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t319' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BrowsableAPIRenderer</span><span class='op'>(</span><span class='nam'>BaseRenderer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t320' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t321' class='pln'><span class='str'>&nbsp; &nbsp; HTML renderer used to self-document the API.</span><span class='strut'>&nbsp;</span></p>
-<p id='t322' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t323' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='str'>&#39;text/html&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t324' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>format</span> <span class='op'>=</span> <span class='str'>&#39;api&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t325' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>template</span> <span class='op'>=</span> <span class='str'>&#39;rest_framework/api.html&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t326' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>charset</span> <span class='op'>=</span> <span class='str'>&#39;utf-8&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t327' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t328' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_default_renderer</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t329' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t330' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return an instance of the first valid renderer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t331' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; (Don&#39;t use another documenting renderer.)</span><span class='strut'>&nbsp;</span></p>
-<p id='t332' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t333' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>renderers</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>renderer</span> <span class='key'>for</span> <span class='nam'>renderer</span> <span class='key'>in</span> <span class='nam'>view</span><span class='op'>.</span><span class='nam'>renderer_classes</span><span class='strut'>&nbsp;</span></p>
-<p id='t334' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>issubclass</span><span class='op'>(</span><span class='nam'>renderer</span><span class='op'>,</span> <span class='nam'>BrowsableAPIRenderer</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t335' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>renderers</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t336' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t337' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>renderers</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t338' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t339' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_content</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>renderer</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t340' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>accepted_media_type</span><span class='op'>,</span> <span class='nam'>renderer_context</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t341' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t342' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Get the content as if it had been rendered by the default</span><span class='strut'>&nbsp;</span></p>
-<p id='t343' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; non-documenting renderer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t344' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t345' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>renderer</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t346' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;[No renderers were found]&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t347' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t348' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>renderer_context</span><span class='op'>[</span><span class='str'>&#39;indent&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='num'>4</span><span class='strut'>&nbsp;</span></p>
-<p id='t349' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content</span> <span class='op'>=</span> <span class='nam'>renderer</span><span class='op'>.</span><span class='nam'>render</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>accepted_media_type</span><span class='op'>,</span> <span class='nam'>renderer_context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t350' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t351' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>renderer</span><span class='op'>.</span><span class='nam'>charset</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t352' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;[%d bytes of binary content]&#39;</span> <span class='op'>%</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>content</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t353' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t354' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>content</span><span class='strut'>&nbsp;</span></p>
-<p id='t355' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t356' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>show_form_for_method</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t357' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t358' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns True if a form should be shown for this method.</span><span class='strut'>&nbsp;</span></p>
-<p id='t359' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t360' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>method</span> <span class='key'>in</span> <span class='nam'>view</span><span class='op'>.</span><span class='nam'>allowed_methods</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t361' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span>&nbsp; <span class='com'># Not a valid method</span><span class='strut'>&nbsp;</span></p>
-<p id='t362' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t363' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>FORM_METHOD_OVERRIDE</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t364' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span>&nbsp; <span class='com'># Cannot use form overloading</span><span class='strut'>&nbsp;</span></p>
-<p id='t365' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t366' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t367' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span><span class='op'>.</span><span class='nam'>check_permissions</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t368' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>obj</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t369' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span><span class='op'>.</span><span class='nam'>check_object_permissions</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t370' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>APIException</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t371' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>False</span>&nbsp; <span class='com'># Doesn&#39;t have permissions</span><span class='strut'>&nbsp;</span></p>
-<p id='t372' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t373' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t374' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>serializer_to_form_fields</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>serializer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t375' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fields</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t376' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>k</span><span class='op'>,</span> <span class='nam'>v</span> <span class='key'>in</span> <span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>get_fields</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t377' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>v</span><span class='op'>,</span> <span class='str'>&#39;read_only&#39;</span><span class='op'>,</span> <span class='nam'>True</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t378' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>continue</span><span class='strut'>&nbsp;</span></p>
-<p id='t379' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t380' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t381' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;required&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>v</span><span class='op'>.</span><span class='nam'>required</span><span class='strut'>&nbsp;</span></p>
-<p id='t382' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t383' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'>#if getattr(v, &#39;queryset&#39;, None):</span><span class='strut'>&nbsp;</span></p>
-<p id='t384' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'>#&nbsp; &nbsp; kwargs[&#39;queryset&#39;] = v.queryset</span><span class='strut'>&nbsp;</span></p>
-<p id='t385' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t386' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>v</span><span class='op'>,</span> <span class='str'>&#39;choices&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t387' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;choices&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>v</span><span class='op'>.</span><span class='nam'>choices</span><span class='strut'>&nbsp;</span></p>
-<p id='t388' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t389' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>v</span><span class='op'>,</span> <span class='str'>&#39;regex&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t390' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;regex&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>v</span><span class='op'>.</span><span class='nam'>regex</span><span class='strut'>&nbsp;</span></p>
-<p id='t391' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t392' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>v</span><span class='op'>,</span> <span class='str'>&#39;widget&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t393' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>widget</span> <span class='op'>=</span> <span class='nam'>copy</span><span class='op'>.</span><span class='nam'>deepcopy</span><span class='op'>(</span><span class='nam'>v</span><span class='op'>.</span><span class='nam'>widget</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t394' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;widget&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>widget</span><span class='strut'>&nbsp;</span></p>
-<p id='t395' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t396' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>v</span><span class='op'>,</span> <span class='str'>&#39;default&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t397' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;initial&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>v</span><span class='op'>.</span><span class='nam'>default</span><span class='strut'>&nbsp;</span></p>
-<p id='t398' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t399' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>v</span><span class='op'>,</span> <span class='str'>&#39;label&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t400' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;label&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>v</span><span class='op'>.</span><span class='nam'>label</span><span class='strut'>&nbsp;</span></p>
-<p id='t401' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t402' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>v</span><span class='op'>,</span> <span class='str'>&#39;help_text&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t403' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;help_text&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>v</span><span class='op'>.</span><span class='nam'>help_text</span><span class='strut'>&nbsp;</span></p>
-<p id='t404' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t405' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fields</span><span class='op'>[</span><span class='nam'>k</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>v</span><span class='op'>.</span><span class='nam'>form_field_class</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t406' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t407' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>fields</span><span class='strut'>&nbsp;</span></p>
-<p id='t408' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t409' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_form</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t410' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We need to impersonate a request with the correct method,</span><span class='strut'>&nbsp;</span></p>
-<p id='t411' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># so that eg. any dynamic get_serializer_class methods return the</span><span class='strut'>&nbsp;</span></p>
-<p id='t412' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># correct form for each method.</span><span class='strut'>&nbsp;</span></p>
-<p id='t413' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>restore</span> <span class='op'>=</span> <span class='nam'>view</span><span class='op'>.</span><span class='nam'>request</span><span class='strut'>&nbsp;</span></p>
-<p id='t414' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>clone_request</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t415' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span><span class='op'>.</span><span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>request</span><span class='strut'>&nbsp;</span></p>
-<p id='t416' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t417' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_form</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t418' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t419' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span><span class='op'>.</span><span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>restore</span><span class='strut'>&nbsp;</span></p>
-<p id='t420' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t421' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_raw_data_form</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>media_types</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t422' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We need to impersonate a request with the correct method,</span><span class='strut'>&nbsp;</span></p>
-<p id='t423' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># so that eg. any dynamic get_serializer_class methods return the</span><span class='strut'>&nbsp;</span></p>
-<p id='t424' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># correct form for each method.</span><span class='strut'>&nbsp;</span></p>
-<p id='t425' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>restore</span> <span class='op'>=</span> <span class='nam'>view</span><span class='op'>.</span><span class='nam'>request</span><span class='strut'>&nbsp;</span></p>
-<p id='t426' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>clone_request</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t427' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span><span class='op'>.</span><span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>request</span><span class='strut'>&nbsp;</span></p>
-<p id='t428' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t429' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_raw_data_form</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>media_types</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t430' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t431' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span><span class='op'>.</span><span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>restore</span><span class='strut'>&nbsp;</span></p>
-<p id='t432' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t433' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_form</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t434' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t435' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Get a form, possibly bound to either the input or output data.</span><span class='strut'>&nbsp;</span></p>
-<p id='t436' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; In the absence on of the Resource having an associated form then</span><span class='strut'>&nbsp;</span></p>
-<p id='t437' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; provide a form that can be used to submit arbitrary content.</span><span class='strut'>&nbsp;</span></p>
-<p id='t438' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t439' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>obj</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;object&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t440' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>show_form_for_method</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t441' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t442' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t443' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>method</span> <span class='key'>in</span> <span class='op'>(</span><span class='str'>&#39;DELETE&#39;</span><span class='op'>,</span> <span class='str'>&#39;OPTIONS&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t444' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span>&nbsp; <span class='com'># Don&#39;t actually need to return a form</span><span class='strut'>&nbsp;</span></p>
-<p id='t445' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t446' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;get_serializer&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span> <span class='key'>or</span> <span class='key'>not</span> <span class='nam'>parsers</span><span class='op'>.</span><span class='nam'>FormParser</span> <span class='key'>in</span> <span class='nam'>view</span><span class='op'>.</span><span class='nam'>parser_classes</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t447' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t448' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t449' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>serializer</span> <span class='op'>=</span> <span class='nam'>view</span><span class='op'>.</span><span class='nam'>get_serializer</span><span class='op'>(</span><span class='nam'>instance</span><span class='op'>=</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t450' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fields</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>serializer_to_form_fields</span><span class='op'>(</span><span class='nam'>serializer</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t451' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t452' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Creating an on the fly form see:</span><span class='strut'>&nbsp;</span></p>
-<p id='t453' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># http://stackoverflow.com/questions/3915024/dynamically-creating-classes-python</span><span class='strut'>&nbsp;</span></p>
-<p id='t454' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>OnTheFlyForm</span> <span class='op'>=</span> <span class='nam'>type</span><span class='op'>(</span><span class='nam'>str</span><span class='op'>(</span><span class='str'>&quot;OnTheFlyForm&quot;</span><span class='op'>)</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>forms</span><span class='op'>.</span><span class='nam'>Form</span><span class='op'>,</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>fields</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t455' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>data</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>obj</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>)</span> <span class='key'>and</span> <span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>data</span> <span class='key'>or</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t456' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>form_instance</span> <span class='op'>=</span> <span class='nam'>OnTheFlyForm</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t457' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>form_instance</span><span class='strut'>&nbsp;</span></p>
-<p id='t458' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t459' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_raw_data_form</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>media_types</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t460' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t461' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a form that allows for arbitrary content types to be tunneled</span><span class='strut'>&nbsp;</span></p>
-<p id='t462' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; via standard HTML forms.</span><span class='strut'>&nbsp;</span></p>
-<p id='t463' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; (Which are typically application/x-www-form-urlencoded)</span><span class='strut'>&nbsp;</span></p>
-<p id='t464' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t465' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t466' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If we&#39;re not using content overloading there&#39;s no point in supplying a generic form,</span><span class='strut'>&nbsp;</span></p>
-<p id='t467' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># as the view won&#39;t treat the form&#39;s value as the content of the request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t468' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='op'>(</span><span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>FORM_CONTENT_OVERRIDE</span><span class='strut'>&nbsp;</span></p>
-<p id='t469' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>and</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>FORM_CONTENTTYPE_OVERRIDE</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t470' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t471' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t472' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Check permissions</span><span class='strut'>&nbsp;</span></p>
-<p id='t473' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>obj</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;object&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t474' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>show_form_for_method</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t475' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t476' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t477' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content_type_field</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>FORM_CONTENTTYPE_OVERRIDE</span><span class='strut'>&nbsp;</span></p>
-<p id='t478' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content_field</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>FORM_CONTENT_OVERRIDE</span><span class='strut'>&nbsp;</span></p>
-<p id='t479' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>choices</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>(</span><span class='nam'>media_type</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>media_type</span> <span class='key'>in</span> <span class='nam'>media_types</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t480' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>initial</span> <span class='op'>=</span> <span class='nam'>media_types</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t481' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t482' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># NB. http://jacobian.org/writing/dynamic-form-generation/</span><span class='strut'>&nbsp;</span></p>
-<p id='t483' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>GenericContentForm</span><span class='op'>(</span><span class='nam'>forms</span><span class='op'>.</span><span class='nam'>Form</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t484' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t485' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>GenericContentForm</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t486' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t487' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>[</span><span class='nam'>content_type_field</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>ChoiceField</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t488' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>label</span><span class='op'>=</span><span class='str'>&#39;Media type&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t489' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>choices</span><span class='op'>=</span><span class='nam'>choices</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t490' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>initial</span><span class='op'>=</span><span class='nam'>initial</span><span class='strut'>&nbsp;</span></p>
-<p id='t491' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t492' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>[</span><span class='nam'>content_field</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>forms</span><span class='op'>.</span><span class='nam'>CharField</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t493' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>label</span><span class='op'>=</span><span class='str'>&#39;Content&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t494' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>widget</span><span class='op'>=</span><span class='nam'>forms</span><span class='op'>.</span><span class='nam'>Textarea</span><span class='strut'>&nbsp;</span></p>
-<p id='t495' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t496' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t497' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>GenericContentForm</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t498' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t499' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_name</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t500' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>get_view_name</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>,</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;suffix&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t501' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t502' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_description</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t503' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>get_view_description</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>,</span> <span class='nam'>html</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t504' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t505' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_breadcrumbs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t506' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>get_breadcrumbs</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t507' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t508' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>render</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>accepted_media_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>renderer_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t509' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t510' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Render the HTML for the browsable API representation.</span><span class='strut'>&nbsp;</span></p>
-<p id='t511' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t512' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>accepted_media_type</span> <span class='op'>=</span> <span class='nam'>accepted_media_type</span> <span class='key'>or</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t513' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>renderer_context</span> <span class='op'>=</span> <span class='nam'>renderer_context</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t514' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t515' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span> <span class='op'>=</span> <span class='nam'>renderer_context</span><span class='op'>[</span><span class='str'>&#39;view&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t516' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>renderer_context</span><span class='op'>[</span><span class='str'>&#39;request&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t517' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>response</span> <span class='op'>=</span> <span class='nam'>renderer_context</span><span class='op'>[</span><span class='str'>&#39;response&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t518' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>media_types</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>parser</span><span class='op'>.</span><span class='nam'>media_type</span> <span class='key'>for</span> <span class='nam'>parser</span> <span class='key'>in</span> <span class='nam'>view</span><span class='op'>.</span><span class='nam'>parser_classes</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t519' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t520' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>renderer</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_default_renderer</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t521' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_content</span><span class='op'>(</span><span class='nam'>renderer</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>accepted_media_type</span><span class='op'>,</span> <span class='nam'>renderer_context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t522' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t523' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>put_form</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_get_form</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;PUT&#39;</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t524' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>post_form</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_get_form</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;POST&#39;</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t525' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>patch_form</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_get_form</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;PATCH&#39;</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t526' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>delete_form</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_get_form</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;DELETE&#39;</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t527' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>options_form</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_get_form</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;OPTIONS&#39;</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t528' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t529' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>raw_data_put_form</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_get_raw_data_form</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;PUT&#39;</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>media_types</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t530' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>raw_data_post_form</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_get_raw_data_form</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;POST&#39;</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>media_types</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t531' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>raw_data_patch_form</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_get_raw_data_form</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;PATCH&#39;</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>media_types</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t532' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>raw_data_put_or_patch_form</span> <span class='op'>=</span> <span class='nam'>raw_data_put_form</span> <span class='key'>or</span> <span class='nam'>raw_data_patch_form</span><span class='strut'>&nbsp;</span></p>
-<p id='t533' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t534' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>name</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_name</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t535' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>description</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_description</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t536' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>breadcrumb_list</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_breadcrumbs</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t537' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t538' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>template</span> <span class='op'>=</span> <span class='nam'>loader</span><span class='op'>.</span><span class='nam'>get_template</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>template</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t539' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>context</span> <span class='op'>=</span> <span class='nam'>RequestContext</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t540' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;content&#39;</span><span class='op'>:</span> <span class='nam'>content</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t541' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;view&#39;</span><span class='op'>:</span> <span class='nam'>view</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t542' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;request&#39;</span><span class='op'>:</span> <span class='nam'>request</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t543' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;response&#39;</span><span class='op'>:</span> <span class='nam'>response</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t544' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;description&#39;</span><span class='op'>:</span> <span class='nam'>description</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t545' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;name&#39;</span><span class='op'>:</span> <span class='nam'>name</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t546' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;version&#39;</span><span class='op'>:</span> <span class='nam'>VERSION</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t547' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;breadcrumblist&#39;</span><span class='op'>:</span> <span class='nam'>breadcrumb_list</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t548' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;allowed_methods&#39;</span><span class='op'>:</span> <span class='nam'>view</span><span class='op'>.</span><span class='nam'>allowed_methods</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t549' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;available_formats&#39;</span><span class='op'>:</span> <span class='op'>[</span><span class='nam'>renderer</span><span class='op'>.</span><span class='nam'>format</span> <span class='key'>for</span> <span class='nam'>renderer</span> <span class='key'>in</span> <span class='nam'>view</span><span class='op'>.</span><span class='nam'>renderer_classes</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t550' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t551' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;put_form&#39;</span><span class='op'>:</span> <span class='nam'>put_form</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t552' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;post_form&#39;</span><span class='op'>:</span> <span class='nam'>post_form</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t553' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;patch_form&#39;</span><span class='op'>:</span> <span class='nam'>patch_form</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t554' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;delete_form&#39;</span><span class='op'>:</span> <span class='nam'>delete_form</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t555' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;options_form&#39;</span><span class='op'>:</span> <span class='nam'>options_form</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t556' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t557' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;raw_data_put_form&#39;</span><span class='op'>:</span> <span class='nam'>raw_data_put_form</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t558' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;raw_data_post_form&#39;</span><span class='op'>:</span> <span class='nam'>raw_data_post_form</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t559' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;raw_data_patch_form&#39;</span><span class='op'>:</span> <span class='nam'>raw_data_patch_form</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t560' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;raw_data_put_or_patch_form&#39;</span><span class='op'>:</span> <span class='nam'>raw_data_put_or_patch_form</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t561' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t562' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;api_settings&#39;</span><span class='op'>:</span> <span class='nam'>api_settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t563' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t564' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t565' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>template</span><span class='op'>.</span><span class='nam'>render</span><span class='op'>(</span><span class='nam'>context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t566' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t567' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Munge DELETE Response code to allow us to return content</span><span class='strut'>&nbsp;</span></p>
-<p id='t568' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># (Do this *after* we&#39;ve rendered the template so that we include</span><span class='strut'>&nbsp;</span></p>
-<p id='t569' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># the normal deletion response code in the output)</span><span class='strut'>&nbsp;</span></p>
-<p id='t570' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>response</span><span class='op'>.</span><span class='nam'>status_code</span> <span class='op'>==</span> <span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_204_NO_CONTENT</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t571' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>response</span><span class='op'>.</span><span class='nam'>status_code</span> <span class='op'>=</span> <span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_200_OK</span><span class='strut'>&nbsp;</span></p>
-<p id='t572' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t573' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_request.html b/htmlcov/rest_framework_request.html
deleted file mode 100644
index 03f2c3e3..00000000
--- a/htmlcov/rest_framework_request.html
+++ /dev/null
@@ -1,819 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/request: 95%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/request</b> :
- <span class='pc_cov'>95%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 161 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>153 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>8 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='pln'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='stm run hide_run'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='stm run hide_run'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='stm run hide_run'><a href='#n39'>39</a></p>
-<p id='n40' class='stm run hide_run'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='stm run hide_run'><a href='#n55'>55</a></p>
-<p id='n56' class='stm run hide_run'><a href='#n56'>56</a></p>
-<p id='n57' class='stm run hide_run'><a href='#n57'>57</a></p>
-<p id='n58' class='stm run hide_run'><a href='#n58'>58</a></p>
-<p id='n59' class='stm run hide_run'><a href='#n59'>59</a></p>
-<p id='n60' class='stm run hide_run'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='stm run hide_run'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='stm run hide_run'><a href='#n64'>64</a></p>
-<p id='n65' class='pln'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='stm run hide_run'><a href='#n67'>67</a></p>
-<p id='n68' class='pln'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='pln'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='pln'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='stm run hide_run'><a href='#n79'>79</a></p>
-<p id='n80' class='stm run hide_run'><a href='#n80'>80</a></p>
-<p id='n81' class='stm run hide_run'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='stm run hide_run'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='stm run hide_run'><a href='#n85'>85</a></p>
-<p id='n86' class='stm run hide_run'><a href='#n86'>86</a></p>
-<p id='n87' class='stm run hide_run'><a href='#n87'>87</a></p>
-<p id='n88' class='stm run hide_run'><a href='#n88'>88</a></p>
-<p id='n89' class='stm run hide_run'><a href='#n89'>89</a></p>
-<p id='n90' class='stm run hide_run'><a href='#n90'>90</a></p>
-<p id='n91' class='stm run hide_run'><a href='#n91'>91</a></p>
-<p id='n92' class='stm run hide_run'><a href='#n92'>92</a></p>
-<p id='n93' class='stm run hide_run'><a href='#n93'>93</a></p>
-<p id='n94' class='stm run hide_run'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='stm run hide_run'><a href='#n96'>96</a></p>
-<p id='n97' class='stm run hide_run'><a href='#n97'>97</a></p>
-<p id='n98' class='stm run hide_run'><a href='#n98'>98</a></p>
-<p id='n99' class='stm run hide_run'><a href='#n99'>99</a></p>
-<p id='n100' class='pln'><a href='#n100'>100</a></p>
-<p id='n101' class='stm run hide_run'><a href='#n101'>101</a></p>
-<p id='n102' class='stm run hide_run'><a href='#n102'>102</a></p>
-<p id='n103' class='pln'><a href='#n103'>103</a></p>
-<p id='n104' class='stm run hide_run'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='pln'><a href='#n106'>106</a></p>
-<p id='n107' class='pln'><a href='#n107'>107</a></p>
-<p id='n108' class='pln'><a href='#n108'>108</a></p>
-<p id='n109' class='pln'><a href='#n109'>109</a></p>
-<p id='n110' class='pln'><a href='#n110'>110</a></p>
-<p id='n111' class='pln'><a href='#n111'>111</a></p>
-<p id='n112' class='stm run hide_run'><a href='#n112'>112</a></p>
-<p id='n113' class='stm run hide_run'><a href='#n113'>113</a></p>
-<p id='n114' class='stm run hide_run'><a href='#n114'>114</a></p>
-<p id='n115' class='pln'><a href='#n115'>115</a></p>
-<p id='n116' class='stm run hide_run'><a href='#n116'>116</a></p>
-<p id='n117' class='pln'><a href='#n117'>117</a></p>
-<p id='n118' class='pln'><a href='#n118'>118</a></p>
-<p id='n119' class='pln'><a href='#n119'>119</a></p>
-<p id='n120' class='pln'><a href='#n120'>120</a></p>
-<p id='n121' class='pln'><a href='#n121'>121</a></p>
-<p id='n122' class='pln'><a href='#n122'>122</a></p>
-<p id='n123' class='pln'><a href='#n123'>123</a></p>
-<p id='n124' class='pln'><a href='#n124'>124</a></p>
-<p id='n125' class='stm run hide_run'><a href='#n125'>125</a></p>
-<p id='n126' class='stm mis'><a href='#n126'>126</a></p>
-<p id='n127' class='stm run hide_run'><a href='#n127'>127</a></p>
-<p id='n128' class='pln'><a href='#n128'>128</a></p>
-<p id='n129' class='stm run hide_run'><a href='#n129'>129</a></p>
-<p id='n130' class='pln'><a href='#n130'>130</a></p>
-<p id='n131' class='pln'><a href='#n131'>131</a></p>
-<p id='n132' class='pln'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='stm run hide_run'><a href='#n134'>134</a></p>
-<p id='n135' class='stm run hide_run'><a href='#n135'>135</a></p>
-<p id='n136' class='stm run hide_run'><a href='#n136'>136</a></p>
-<p id='n137' class='pln'><a href='#n137'>137</a></p>
-<p id='n138' class='stm run hide_run'><a href='#n138'>138</a></p>
-<p id='n139' class='pln'><a href='#n139'>139</a></p>
-<p id='n140' class='pln'><a href='#n140'>140</a></p>
-<p id='n141' class='pln'><a href='#n141'>141</a></p>
-<p id='n142' class='pln'><a href='#n142'>142</a></p>
-<p id='n143' class='stm run hide_run'><a href='#n143'>143</a></p>
-<p id='n144' class='pln'><a href='#n144'>144</a></p>
-<p id='n145' class='stm run hide_run'><a href='#n145'>145</a></p>
-<p id='n146' class='pln'><a href='#n146'>146</a></p>
-<p id='n147' class='pln'><a href='#n147'>147</a></p>
-<p id='n148' class='pln'><a href='#n148'>148</a></p>
-<p id='n149' class='pln'><a href='#n149'>149</a></p>
-<p id='n150' class='pln'><a href='#n150'>150</a></p>
-<p id='n151' class='pln'><a href='#n151'>151</a></p>
-<p id='n152' class='pln'><a href='#n152'>152</a></p>
-<p id='n153' class='stm run hide_run'><a href='#n153'>153</a></p>
-<p id='n154' class='stm run hide_run'><a href='#n154'>154</a></p>
-<p id='n155' class='stm run hide_run'><a href='#n155'>155</a></p>
-<p id='n156' class='pln'><a href='#n156'>156</a></p>
-<p id='n157' class='stm run hide_run'><a href='#n157'>157</a></p>
-<p id='n158' class='pln'><a href='#n158'>158</a></p>
-<p id='n159' class='pln'><a href='#n159'>159</a></p>
-<p id='n160' class='pln'><a href='#n160'>160</a></p>
-<p id='n161' class='pln'><a href='#n161'>161</a></p>
-<p id='n162' class='pln'><a href='#n162'>162</a></p>
-<p id='n163' class='pln'><a href='#n163'>163</a></p>
-<p id='n164' class='pln'><a href='#n164'>164</a></p>
-<p id='n165' class='stm run hide_run'><a href='#n165'>165</a></p>
-<p id='n166' class='stm mis'><a href='#n166'>166</a></p>
-<p id='n167' class='stm run hide_run'><a href='#n167'>167</a></p>
-<p id='n168' class='pln'><a href='#n168'>168</a></p>
-<p id='n169' class='stm run hide_run'><a href='#n169'>169</a></p>
-<p id='n170' class='pln'><a href='#n170'>170</a></p>
-<p id='n171' class='pln'><a href='#n171'>171</a></p>
-<p id='n172' class='pln'><a href='#n172'>172</a></p>
-<p id='n173' class='pln'><a href='#n173'>173</a></p>
-<p id='n174' class='pln'><a href='#n174'>174</a></p>
-<p id='n175' class='stm run hide_run'><a href='#n175'>175</a></p>
-<p id='n176' class='stm run hide_run'><a href='#n176'>176</a></p>
-<p id='n177' class='stm run hide_run'><a href='#n177'>177</a></p>
-<p id='n178' class='pln'><a href='#n178'>178</a></p>
-<p id='n179' class='stm run hide_run'><a href='#n179'>179</a></p>
-<p id='n180' class='pln'><a href='#n180'>180</a></p>
-<p id='n181' class='pln'><a href='#n181'>181</a></p>
-<p id='n182' class='pln'><a href='#n182'>182</a></p>
-<p id='n183' class='pln'><a href='#n183'>183</a></p>
-<p id='n184' class='pln'><a href='#n184'>184</a></p>
-<p id='n185' class='pln'><a href='#n185'>185</a></p>
-<p id='n186' class='stm run hide_run'><a href='#n186'>186</a></p>
-<p id='n187' class='pln'><a href='#n187'>187</a></p>
-<p id='n188' class='stm run hide_run'><a href='#n188'>188</a></p>
-<p id='n189' class='pln'><a href='#n189'>189</a></p>
-<p id='n190' class='pln'><a href='#n190'>190</a></p>
-<p id='n191' class='pln'><a href='#n191'>191</a></p>
-<p id='n192' class='pln'><a href='#n192'>192</a></p>
-<p id='n193' class='pln'><a href='#n193'>193</a></p>
-<p id='n194' class='stm run hide_run'><a href='#n194'>194</a></p>
-<p id='n195' class='stm mis'><a href='#n195'>195</a></p>
-<p id='n196' class='stm run hide_run'><a href='#n196'>196</a></p>
-<p id='n197' class='pln'><a href='#n197'>197</a></p>
-<p id='n198' class='stm run hide_run'><a href='#n198'>198</a></p>
-<p id='n199' class='pln'><a href='#n199'>199</a></p>
-<p id='n200' class='pln'><a href='#n200'>200</a></p>
-<p id='n201' class='pln'><a href='#n201'>201</a></p>
-<p id='n202' class='pln'><a href='#n202'>202</a></p>
-<p id='n203' class='pln'><a href='#n203'>203</a></p>
-<p id='n204' class='stm run hide_run'><a href='#n204'>204</a></p>
-<p id='n205' class='pln'><a href='#n205'>205</a></p>
-<p id='n206' class='stm run hide_run'><a href='#n206'>206</a></p>
-<p id='n207' class='pln'><a href='#n207'>207</a></p>
-<p id='n208' class='pln'><a href='#n208'>208</a></p>
-<p id='n209' class='pln'><a href='#n209'>209</a></p>
-<p id='n210' class='pln'><a href='#n210'>210</a></p>
-<p id='n211' class='pln'><a href='#n211'>211</a></p>
-<p id='n212' class='stm run hide_run'><a href='#n212'>212</a></p>
-<p id='n213' class='stm mis'><a href='#n213'>213</a></p>
-<p id='n214' class='stm run hide_run'><a href='#n214'>214</a></p>
-<p id='n215' class='pln'><a href='#n215'>215</a></p>
-<p id='n216' class='stm run hide_run'><a href='#n216'>216</a></p>
-<p id='n217' class='pln'><a href='#n217'>217</a></p>
-<p id='n218' class='pln'><a href='#n218'>218</a></p>
-<p id='n219' class='pln'><a href='#n219'>219</a></p>
-<p id='n220' class='stm run hide_run'><a href='#n220'>220</a></p>
-<p id='n221' class='stm run hide_run'><a href='#n221'>221</a></p>
-<p id='n222' class='pln'><a href='#n222'>222</a></p>
-<p id='n223' class='stm run hide_run'><a href='#n223'>223</a></p>
-<p id='n224' class='stm run hide_run'><a href='#n224'>224</a></p>
-<p id='n225' class='pln'><a href='#n225'>225</a></p>
-<p id='n226' class='stm run hide_run'><a href='#n226'>226</a></p>
-<p id='n227' class='pln'><a href='#n227'>227</a></p>
-<p id='n228' class='pln'><a href='#n228'>228</a></p>
-<p id='n229' class='pln'><a href='#n229'>229</a></p>
-<p id='n230' class='pln'><a href='#n230'>230</a></p>
-<p id='n231' class='stm run hide_run'><a href='#n231'>231</a></p>
-<p id='n232' class='pln'><a href='#n232'>232</a></p>
-<p id='n233' class='pln'><a href='#n233'>233</a></p>
-<p id='n234' class='stm run hide_run'><a href='#n234'>234</a></p>
-<p id='n235' class='pln'><a href='#n235'>235</a></p>
-<p id='n236' class='stm run hide_run'><a href='#n236'>236</a></p>
-<p id='n237' class='stm run hide_run'><a href='#n237'>237</a></p>
-<p id='n238' class='pln'><a href='#n238'>238</a></p>
-<p id='n239' class='stm run hide_run'><a href='#n239'>239</a></p>
-<p id='n240' class='pln'><a href='#n240'>240</a></p>
-<p id='n241' class='stm run hide_run'><a href='#n241'>241</a></p>
-<p id='n242' class='pln'><a href='#n242'>242</a></p>
-<p id='n243' class='pln'><a href='#n243'>243</a></p>
-<p id='n244' class='stm run hide_run'><a href='#n244'>244</a></p>
-<p id='n245' class='pln'><a href='#n245'>245</a></p>
-<p id='n246' class='pln'><a href='#n246'>246</a></p>
-<p id='n247' class='pln'><a href='#n247'>247</a></p>
-<p id='n248' class='stm run hide_run'><a href='#n248'>248</a></p>
-<p id='n249' class='stm run hide_run'><a href='#n249'>249</a></p>
-<p id='n250' class='pln'><a href='#n250'>250</a></p>
-<p id='n251' class='stm run hide_run'><a href='#n251'>251</a></p>
-<p id='n252' class='stm run hide_run'><a href='#n252'>252</a></p>
-<p id='n253' class='pln'><a href='#n253'>253</a></p>
-<p id='n254' class='stm run hide_run'><a href='#n254'>254</a></p>
-<p id='n255' class='stm run hide_run'><a href='#n255'>255</a></p>
-<p id='n256' class='stm run hide_run'><a href='#n256'>256</a></p>
-<p id='n257' class='stm run hide_run'><a href='#n257'>257</a></p>
-<p id='n258' class='pln'><a href='#n258'>258</a></p>
-<p id='n259' class='stm mis'><a href='#n259'>259</a></p>
-<p id='n260' class='pln'><a href='#n260'>260</a></p>
-<p id='n261' class='stm run hide_run'><a href='#n261'>261</a></p>
-<p id='n262' class='pln'><a href='#n262'>262</a></p>
-<p id='n263' class='pln'><a href='#n263'>263</a></p>
-<p id='n264' class='pln'><a href='#n264'>264</a></p>
-<p id='n265' class='pln'><a href='#n265'>265</a></p>
-<p id='n266' class='pln'><a href='#n266'>266</a></p>
-<p id='n267' class='pln'><a href='#n267'>267</a></p>
-<p id='n268' class='stm run hide_run'><a href='#n268'>268</a></p>
-<p id='n269' class='pln'><a href='#n269'>269</a></p>
-<p id='n270' class='pln'><a href='#n270'>270</a></p>
-<p id='n271' class='pln'><a href='#n271'>271</a></p>
-<p id='n272' class='pln'><a href='#n272'>272</a></p>
-<p id='n273' class='pln'><a href='#n273'>273</a></p>
-<p id='n274' class='stm run hide_run'><a href='#n274'>274</a></p>
-<p id='n275' class='pln'><a href='#n275'>275</a></p>
-<p id='n276' class='pln'><a href='#n276'>276</a></p>
-<p id='n277' class='stm run hide_run'><a href='#n277'>277</a></p>
-<p id='n278' class='pln'><a href='#n278'>278</a></p>
-<p id='n279' class='pln'><a href='#n279'>279</a></p>
-<p id='n280' class='stm run hide_run'><a href='#n280'>280</a></p>
-<p id='n281' class='stm run hide_run'><a href='#n281'>281</a></p>
-<p id='n282' class='pln'><a href='#n282'>282</a></p>
-<p id='n283' class='pln'><a href='#n283'>283</a></p>
-<p id='n284' class='stm run hide_run'><a href='#n284'>284</a></p>
-<p id='n285' class='pln'><a href='#n285'>285</a></p>
-<p id='n286' class='stm run hide_run'><a href='#n286'>286</a></p>
-<p id='n287' class='pln'><a href='#n287'>287</a></p>
-<p id='n288' class='pln'><a href='#n288'>288</a></p>
-<p id='n289' class='stm run hide_run'><a href='#n289'>289</a></p>
-<p id='n290' class='pln'><a href='#n290'>290</a></p>
-<p id='n291' class='pln'><a href='#n291'>291</a></p>
-<p id='n292' class='pln'><a href='#n292'>292</a></p>
-<p id='n293' class='stm run hide_run'><a href='#n293'>293</a></p>
-<p id='n294' class='stm run hide_run'><a href='#n294'>294</a></p>
-<p id='n295' class='stm run hide_run'><a href='#n295'>295</a></p>
-<p id='n296' class='pln'><a href='#n296'>296</a></p>
-<p id='n297' class='stm run hide_run'><a href='#n297'>297</a></p>
-<p id='n298' class='pln'><a href='#n298'>298</a></p>
-<p id='n299' class='pln'><a href='#n299'>299</a></p>
-<p id='n300' class='pln'><a href='#n300'>300</a></p>
-<p id='n301' class='pln'><a href='#n301'>301</a></p>
-<p id='n302' class='pln'><a href='#n302'>302</a></p>
-<p id='n303' class='stm run hide_run'><a href='#n303'>303</a></p>
-<p id='n304' class='stm run hide_run'><a href='#n304'>304</a></p>
-<p id='n305' class='pln'><a href='#n305'>305</a></p>
-<p id='n306' class='stm run hide_run'><a href='#n306'>306</a></p>
-<p id='n307' class='stm run hide_run'><a href='#n307'>307</a></p>
-<p id='n308' class='stm run hide_run'><a href='#n308'>308</a></p>
-<p id='n309' class='stm run hide_run'><a href='#n309'>309</a></p>
-<p id='n310' class='pln'><a href='#n310'>310</a></p>
-<p id='n311' class='stm run hide_run'><a href='#n311'>311</a></p>
-<p id='n312' class='pln'><a href='#n312'>312</a></p>
-<p id='n313' class='stm run hide_run'><a href='#n313'>313</a></p>
-<p id='n314' class='stm mis'><a href='#n314'>314</a></p>
-<p id='n315' class='pln'><a href='#n315'>315</a></p>
-<p id='n316' class='stm run hide_run'><a href='#n316'>316</a></p>
-<p id='n317' class='pln'><a href='#n317'>317</a></p>
-<p id='n318' class='pln'><a href='#n318'>318</a></p>
-<p id='n319' class='pln'><a href='#n319'>319</a></p>
-<p id='n320' class='stm run hide_run'><a href='#n320'>320</a></p>
-<p id='n321' class='stm run hide_run'><a href='#n321'>321</a></p>
-<p id='n322' class='stm run hide_run'><a href='#n322'>322</a></p>
-<p id='n323' class='stm run hide_run'><a href='#n323'>323</a></p>
-<p id='n324' class='stm run hide_run'><a href='#n324'>324</a></p>
-<p id='n325' class='pln'><a href='#n325'>325</a></p>
-<p id='n326' class='stm run hide_run'><a href='#n326'>326</a></p>
-<p id='n327' class='pln'><a href='#n327'>327</a></p>
-<p id='n328' class='pln'><a href='#n328'>328</a></p>
-<p id='n329' class='pln'><a href='#n329'>329</a></p>
-<p id='n330' class='pln'><a href='#n330'>330</a></p>
-<p id='n331' class='pln'><a href='#n331'>331</a></p>
-<p id='n332' class='stm run hide_run'><a href='#n332'>332</a></p>
-<p id='n333' class='stm run hide_run'><a href='#n333'>333</a></p>
-<p id='n334' class='stm run hide_run'><a href='#n334'>334</a></p>
-<p id='n335' class='stm run hide_run'><a href='#n335'>335</a></p>
-<p id='n336' class='stm run hide_run'><a href='#n336'>336</a></p>
-<p id='n337' class='stm run hide_run'><a href='#n337'>337</a></p>
-<p id='n338' class='pln'><a href='#n338'>338</a></p>
-<p id='n339' class='stm run hide_run'><a href='#n339'>339</a></p>
-<p id='n340' class='stm run hide_run'><a href='#n340'>340</a></p>
-<p id='n341' class='stm run hide_run'><a href='#n341'>341</a></p>
-<p id='n342' class='stm run hide_run'><a href='#n342'>342</a></p>
-<p id='n343' class='pln'><a href='#n343'>343</a></p>
-<p id='n344' class='stm run hide_run'><a href='#n344'>344</a></p>
-<p id='n345' class='pln'><a href='#n345'>345</a></p>
-<p id='n346' class='stm run hide_run'><a href='#n346'>346</a></p>
-<p id='n347' class='pln'><a href='#n347'>347</a></p>
-<p id='n348' class='pln'><a href='#n348'>348</a></p>
-<p id='n349' class='pln'><a href='#n349'>349</a></p>
-<p id='n350' class='pln'><a href='#n350'>350</a></p>
-<p id='n351' class='pln'><a href='#n351'>351</a></p>
-<p id='n352' class='pln'><a href='#n352'>352</a></p>
-<p id='n353' class='stm run hide_run'><a href='#n353'>353</a></p>
-<p id='n354' class='pln'><a href='#n354'>354</a></p>
-<p id='n355' class='stm run hide_run'><a href='#n355'>355</a></p>
-<p id='n356' class='stm run hide_run'><a href='#n356'>356</a></p>
-<p id='n357' class='pln'><a href='#n357'>357</a></p>
-<p id='n358' class='stm mis'><a href='#n358'>358</a></p>
-<p id='n359' class='pln'><a href='#n359'>359</a></p>
-<p id='n360' class='stm run hide_run'><a href='#n360'>360</a></p>
-<p id='n361' class='stm mis'><a href='#n361'>361</a></p>
-<p id='n362' class='pln'><a href='#n362'>362</a></p>
-<p id='n363' class='stm run hide_run'><a href='#n363'>363</a></p>
-<p id='n364' class='pln'><a href='#n364'>364</a></p>
-<p id='n365' class='stm run hide_run'><a href='#n365'>365</a></p>
-<p id='n366' class='pln'><a href='#n366'>366</a></p>
-<p id='n367' class='pln'><a href='#n367'>367</a></p>
-<p id='n368' class='pln'><a href='#n368'>368</a></p>
-<p id='n369' class='stm run hide_run'><a href='#n369'>369</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>The Request class is used as a wrapper around the standard request object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>The wrapped request then offers a richer API, in particular :</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='str'>&nbsp; &nbsp; - content automatically parsed according to `Content-Type` header,</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; and available as `request.DATA`</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='str'>&nbsp; &nbsp; - full support of PUT method, including support for file uploads</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='pln'><span class='str'>&nbsp; &nbsp; - form overloading of HTTP method, content type and content</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>conf</span> <span class='key'>import</span> <span class='nam'>settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>http</span> <span class='key'>import</span> <span class='nam'>QueryDict</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>http</span><span class='op'>.</span><span class='nam'>multipartparser</span> <span class='key'>import</span> <span class='nam'>parse_header</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>datastructures</span> <span class='key'>import</span> <span class='nam'>MultiValueDict</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>HTTP_HEADER_ENCODING</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>exceptions</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>BytesIO</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>settings</span> <span class='key'>import</span> <span class='nam'>api_settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>is_form_media_type</span><span class='op'>(</span><span class='nam'>media_type</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='str'>&nbsp; &nbsp; Return True if the media type is a valid form media type.</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>base_media_type</span><span class='op'>,</span> <span class='nam'>params</span> <span class='op'>=</span> <span class='nam'>parse_header</span><span class='op'>(</span><span class='nam'>media_type</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='nam'>HTTP_HEADER_ENCODING</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>base_media_type</span> <span class='op'>==</span> <span class='str'>&#39;application/x-www-form-urlencoded&#39;</span> <span class='key'>or</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>base_media_type</span> <span class='op'>==</span> <span class='str'>&#39;multipart/form-data&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>Empty</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='str'>&nbsp; &nbsp; Placeholder for unset attributes.</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='str'>&nbsp; &nbsp; Cannot use `None`, as that may be a valid value.</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>_hasattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='key'>not</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>)</span> <span class='key'>is</span> <span class='nam'>Empty</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>clone_request</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'><span class='str'>&nbsp; &nbsp; Internal helper method to clone a request, replacing with a different</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='str'>&nbsp; &nbsp; HTTP method.&nbsp; Used for checking permissions against other methods.</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>Request</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>_request</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parsers</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>parsers</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>authenticators</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>authenticators</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>negotiator</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>negotiator</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parser_context</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>parser_context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>_data</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>_data</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>_files</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>_files</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>_content_type</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>_content_type</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>_stream</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>_stream</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>_method</span> <span class='op'>=</span> <span class='nam'>method</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='str'>&#39;_user&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>_user</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>_user</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='str'>&#39;_auth&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>_auth</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>_auth</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='str'>&#39;_authenticator&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>_authenticator</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>_authenticator</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>Request</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'><span class='str'>&nbsp; &nbsp; Wrapper allowing to enhance a standard `HttpRequest` instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'><span class='str'>&nbsp; &nbsp; Kwargs:</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; - request(HttpRequest). The original request instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; - parsers_classes(list/tuple). The parsers to use for parsing the</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; request content.</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; - authentication_classes(list/tuple). The authentications used to try</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; authenticating the request&#39;s user.</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>_METHOD_PARAM</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>FORM_METHOD_OVERRIDE</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>_CONTENT_PARAM</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>FORM_CONTENT_OVERRIDE</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>_CONTENTTYPE_PARAM</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>FORM_CONTENTTYPE_OVERRIDE</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>parsers</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>authenticators</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>negotiator</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>parser_context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_request</span> <span class='op'>=</span> <span class='nam'>request</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parsers</span> <span class='op'>=</span> <span class='nam'>parsers</span> <span class='key'>or</span> <span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>authenticators</span> <span class='op'>=</span> <span class='nam'>authenticators</span> <span class='key'>or</span> <span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>negotiator</span> <span class='op'>=</span> <span class='nam'>negotiator</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_default_negotiator</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parser_context</span> <span class='op'>=</span> <span class='nam'>parser_context</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span> <span class='op'>=</span> <span class='nam'>Empty</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_files</span> <span class='op'>=</span> <span class='nam'>Empty</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_method</span> <span class='op'>=</span> <span class='nam'>Empty</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_content_type</span> <span class='op'>=</span> <span class='nam'>Empty</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_stream</span> <span class='op'>=</span> <span class='nam'>Empty</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parser_context</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parser_context</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parser_context</span><span class='op'>[</span><span class='str'>&#39;request&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>self</span><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parser_context</span><span class='op'>[</span><span class='str'>&#39;encoding&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>encoding</span> <span class='key'>or</span> <span class='nam'>settings</span><span class='op'>.</span><span class='nam'>DEFAULT_CHARSET</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_default_negotiator</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DEFAULT_CONTENT_NEGOTIATION_CLASS</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>method</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns the HTTP method.</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This allows the `method` to be overridden by using a hidden `form`</span><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; field on a form POST request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>_hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_method&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_load_method_and_content_type</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_method</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>content_type</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns the content type header.</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This should be used instead of `request.META.get(&#39;HTTP_CONTENT_TYPE&#39;)`,</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; as it allows the content type to be overridden by using a hidden form</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; field on a form POST request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>_hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_content_type&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_load_method_and_content_type</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_content_type</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>stream</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns an object that may be used to stream the request content.</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>_hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_stream&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_load_stream</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_stream</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>QUERY_PARAMS</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; More semantically correct name for request.GET.</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_request</span><span class='op'>.</span><span class='nam'>GET</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>DATA</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Parses the request body and returns the data.</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Similar to usual behaviour of `request.POST`, except that it handles</span><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; arbitrary parsers, and also works on methods other than POST (eg PUT).</span><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>_hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_data&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_load_data_and_files</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>FILES</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Parses the request body and returns any files uploaded in the request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Similar to usual behaviour of `request.FILES`, except that it handles</span><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; arbitrary parsers, and also works on methods other than POST (eg PUT).</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>_hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_files&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_load_data_and_files</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_files</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>user</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns the user associated with the current request, as authenticated</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; by the authentication classes provided to the request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_user&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_authenticate</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_user</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>user</span><span class='op'>.</span><span class='nam'>setter</span><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>user</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Sets the user on the current request. This is necessary to maintain</span><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; compatilbility with django.contrib.auth where the user proprety is</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; set in the login and logout functions.</span><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_user</span> <span class='op'>=</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>auth</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns any non-user authentication information associated with the</span><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; request, such as an authentication token.</span><span class='strut'>&nbsp;</span></p>
-<p id='t193' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t194' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_auth&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t195' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_authenticate</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t196' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_auth</span><span class='strut'>&nbsp;</span></p>
-<p id='t197' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t198' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>auth</span><span class='op'>.</span><span class='nam'>setter</span><span class='strut'>&nbsp;</span></p>
-<p id='t199' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>auth</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t200' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t201' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Sets any non-user authentication information associated with the</span><span class='strut'>&nbsp;</span></p>
-<p id='t202' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; request, such as an authentication token.</span><span class='strut'>&nbsp;</span></p>
-<p id='t203' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t204' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_auth</span> <span class='op'>=</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t205' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t206' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t207' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>successful_authenticator</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t208' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t209' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return the instance of the authentication instance class that was used</span><span class='strut'>&nbsp;</span></p>
-<p id='t210' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; to authenticate the request, or `None`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t211' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t212' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_authenticator&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t213' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_authenticate</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t214' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_authenticator</span><span class='strut'>&nbsp;</span></p>
-<p id='t215' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t216' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_load_data_and_files</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t217' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t218' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Parses the request content into self.DATA and self.FILES.</span><span class='strut'>&nbsp;</span></p>
-<p id='t219' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t220' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>_hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_content_type&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t221' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_load_method_and_content_type</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t222' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t223' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>_hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_data&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t224' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_files</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_parse</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t225' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t226' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_load_method_and_content_type</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t227' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t228' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Sets the method and content_type, and then check if they&#39;ve</span><span class='strut'>&nbsp;</span></p>
-<p id='t229' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; been overridden.</span><span class='strut'>&nbsp;</span></p>
-<p id='t230' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t231' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_content_type</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>META</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;HTTP_CONTENT_TYPE&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t232' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>META</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;CONTENT_TYPE&#39;</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t233' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t234' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_perform_form_overloading</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t235' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t236' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>_hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_method&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t237' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_method</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_request</span><span class='op'>.</span><span class='nam'>method</span><span class='strut'>&nbsp;</span></p>
-<p id='t238' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t239' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_method</span> <span class='op'>==</span> <span class='str'>&#39;POST&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t240' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Allow X-HTTP-METHOD-OVERRIDE header</span><span class='strut'>&nbsp;</span></p>
-<p id='t241' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_method</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>META</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;HTTP_X_HTTP_METHOD_OVERRIDE&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t242' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_method</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t243' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t244' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_load_stream</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t245' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t246' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return the content body of the request, as a stream.</span><span class='strut'>&nbsp;</span></p>
-<p id='t247' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t248' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t249' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content_length</span> <span class='op'>=</span> <span class='nam'>int</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>META</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;CONTENT_LENGTH&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t250' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>META</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;HTTP_CONTENT_LENGTH&#39;</span><span class='op'>)</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t251' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='op'>(</span><span class='nam'>ValueError</span><span class='op'>,</span> <span class='nam'>TypeError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t252' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content_length</span> <span class='op'>=</span> <span class='num'>0</span><span class='strut'>&nbsp;</span></p>
-<p id='t253' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t254' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>content_length</span> <span class='op'>==</span> <span class='num'>0</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t255' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_stream</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t256' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_request</span><span class='op'>,</span> <span class='str'>&#39;read&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t257' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_stream</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_request</span><span class='strut'>&nbsp;</span></p>
-<p id='t258' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t259' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_stream</span> <span class='op'>=</span> <span class='nam'>BytesIO</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>raw_post_data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t260' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t261' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_perform_form_overloading</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t262' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t263' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If this is a form POST request, then we need to check if the method and</span><span class='strut'>&nbsp;</span></p>
-<p id='t264' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; content/content_type have been overridden by setting them in hidden</span><span class='strut'>&nbsp;</span></p>
-<p id='t265' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; form fields or not.</span><span class='strut'>&nbsp;</span></p>
-<p id='t266' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t267' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t268' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>USE_FORM_OVERLOADING</span> <span class='op'>=</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t269' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_METHOD_PARAM</span> <span class='key'>or</span><span class='strut'>&nbsp;</span></p>
-<p id='t270' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_CONTENT_PARAM</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_CONTENTTYPE_PARAM</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t271' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t272' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t273' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We only need to use form overloading on form POST requests.</span><span class='strut'>&nbsp;</span></p>
-<p id='t274' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='op'>(</span><span class='key'>not</span> <span class='nam'>USE_FORM_OVERLOADING</span><span class='strut'>&nbsp;</span></p>
-<p id='t275' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_request</span><span class='op'>.</span><span class='nam'>method</span> <span class='op'>!=</span> <span class='str'>&#39;POST&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t276' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>or</span> <span class='key'>not</span> <span class='nam'>is_form_media_type</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_content_type</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t277' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t278' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t279' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># At this point we&#39;re committed to parsing the request as form data.</span><span class='strut'>&nbsp;</span></p>
-<p id='t280' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_request</span><span class='op'>.</span><span class='nam'>POST</span><span class='strut'>&nbsp;</span></p>
-<p id='t281' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_files</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_request</span><span class='op'>.</span><span class='nam'>FILES</span><span class='strut'>&nbsp;</span></p>
-<p id='t282' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t283' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Method overloading - change the method and remove the param from the content.</span><span class='strut'>&nbsp;</span></p>
-<p id='t284' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_METHOD_PARAM</span> <span class='key'>and</span><span class='strut'>&nbsp;</span></p>
-<p id='t285' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_METHOD_PARAM</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t286' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_method</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span><span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_METHOD_PARAM</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>upper</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t287' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t288' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Content overloading - modify the content type, and force re-parse.</span><span class='strut'>&nbsp;</span></p>
-<p id='t289' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_CONTENT_PARAM</span> <span class='key'>and</span><span class='strut'>&nbsp;</span></p>
-<p id='t290' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_CONTENTTYPE_PARAM</span> <span class='key'>and</span><span class='strut'>&nbsp;</span></p>
-<p id='t291' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_CONTENT_PARAM</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span> <span class='key'>and</span><span class='strut'>&nbsp;</span></p>
-<p id='t292' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_CONTENTTYPE_PARAM</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t293' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_content_type</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span><span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_CONTENTTYPE_PARAM</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t294' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_stream</span> <span class='op'>=</span> <span class='nam'>BytesIO</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span><span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_CONTENT_PARAM</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='nam'>HTTP_HEADER_ENCODING</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t295' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_files</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>Empty</span><span class='op'>,</span> <span class='nam'>Empty</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t296' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t297' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_parse</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t298' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t299' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Parse the request content, returning a two-tuple of (data, files)</span><span class='strut'>&nbsp;</span></p>
-<p id='t300' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t301' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; May raise an `UnsupportedMediaType`, or `ParseError` exception.</span><span class='strut'>&nbsp;</span></p>
-<p id='t302' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t303' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>stream</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>stream</span><span class='strut'>&nbsp;</span></p>
-<p id='t304' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>content_type</span><span class='strut'>&nbsp;</span></p>
-<p id='t305' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t306' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>stream</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>or</span> <span class='nam'>media_type</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t307' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>empty_data</span> <span class='op'>=</span> <span class='nam'>QueryDict</span><span class='op'>(</span><span class='str'>&#39;&#39;</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_request</span><span class='op'>.</span><span class='nam'>_encoding</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t308' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>empty_files</span> <span class='op'>=</span> <span class='nam'>MultiValueDict</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t309' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>empty_data</span><span class='op'>,</span> <span class='nam'>empty_files</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t310' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t311' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parser</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>negotiator</span><span class='op'>.</span><span class='nam'>select_parser</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parsers</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t312' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t313' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>parser</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t314' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>UnsupportedMediaType</span><span class='op'>(</span><span class='nam'>media_type</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t315' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t316' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parsed</span> <span class='op'>=</span> <span class='nam'>parser</span><span class='op'>.</span><span class='nam'>parse</span><span class='op'>(</span><span class='nam'>stream</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parser_context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t317' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t318' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Parser classes may return the raw data, or a</span><span class='strut'>&nbsp;</span></p>
-<p id='t319' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># DataAndFiles object.&nbsp; Unpack the result as required.</span><span class='strut'>&nbsp;</span></p>
-<p id='t320' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t321' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>parsed</span><span class='op'>.</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>parsed</span><span class='op'>.</span><span class='nam'>files</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t322' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>AttributeError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t323' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>empty_files</span> <span class='op'>=</span> <span class='nam'>MultiValueDict</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t324' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>parsed</span><span class='op'>,</span> <span class='nam'>empty_files</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t325' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t326' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_authenticate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t327' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t328' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Attempt to authenticate the request using each authentication instance</span><span class='strut'>&nbsp;</span></p>
-<p id='t329' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; in turn.</span><span class='strut'>&nbsp;</span></p>
-<p id='t330' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a three-tuple of (authenticator, user, authtoken).</span><span class='strut'>&nbsp;</span></p>
-<p id='t331' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t332' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>authenticator</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>authenticators</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t333' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t334' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>user_auth_tuple</span> <span class='op'>=</span> <span class='nam'>authenticator</span><span class='op'>.</span><span class='nam'>authenticate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t335' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>APIException</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t336' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_not_authenticated</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t337' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span><span class='strut'>&nbsp;</span></p>
-<p id='t338' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t339' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>user_auth_tuple</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t340' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_authenticator</span> <span class='op'>=</span> <span class='nam'>authenticator</span><span class='strut'>&nbsp;</span></p>
-<p id='t341' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_user</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_auth</span> <span class='op'>=</span> <span class='nam'>user_auth_tuple</span><span class='strut'>&nbsp;</span></p>
-<p id='t342' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t343' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t344' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_not_authenticated</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t345' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t346' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_not_authenticated</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t347' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t348' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return a three-tuple of (authenticator, user, authtoken), representing</span><span class='strut'>&nbsp;</span></p>
-<p id='t349' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; an unauthenticated request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t350' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t351' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; By default this will be (None, AnonymousUser, None).</span><span class='strut'>&nbsp;</span></p>
-<p id='t352' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t353' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_authenticator</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t354' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t355' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>UNAUTHENTICATED_USER</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t356' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_user</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>UNAUTHENTICATED_USER</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t357' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t358' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_user</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t359' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t360' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>UNAUTHENTICATED_TOKEN</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t361' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_auth</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>UNAUTHENTICATED_TOKEN</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t362' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t363' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_auth</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t364' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t365' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__getattr__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>attr</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t366' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t367' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Proxy other attributes to the underlying HttpRequest object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t368' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t369' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_request</span><span class='op'>,</span> <span class='nam'>attr</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_response.html b/htmlcov/rest_framework_response.html
deleted file mode 100644
index d297ecd0..00000000
--- a/htmlcov/rest_framework_response.html
+++ /dev/null
@@ -1,249 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/response: 98%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/response</b> :
- <span class='pc_cov'>98%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 42 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>41 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>1 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='stm run hide_run'><a href='#n29'>29</a></p>
-<p id='n30' class='stm run hide_run'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='stm run hide_run'><a href='#n32'>32</a></p>
-<p id='n33' class='stm run hide_run'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='stm run hide_run'><a href='#n36'>36</a></p>
-<p id='n37' class='stm run hide_run'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='stm run hide_run'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='stm run hide_run'><a href='#n41'>41</a></p>
-<p id='n42' class='stm run hide_run'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='stm run hide_run'><a href='#n46'>46</a></p>
-<p id='n47' class='stm run hide_run'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='stm run hide_run'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='stm run hide_run'><a href='#n55'>55</a></p>
-<p id='n56' class='stm mis'><a href='#n56'>56</a></p>
-<p id='n57' class='stm run hide_run'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='stm run hide_run'><a href='#n59'>59</a></p>
-<p id='n60' class='stm run hide_run'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='stm run hide_run'><a href='#n64'>64</a></p>
-<p id='n65' class='pln'><a href='#n65'>65</a></p>
-<p id='n66' class='stm run hide_run'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='pln'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='pln'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='stm run hide_run'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='stm run hide_run'><a href='#n76'>76</a></p>
-<p id='n77' class='pln'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='stm run hide_run'><a href='#n80'>80</a></p>
-<p id='n81' class='stm run hide_run'><a href='#n81'>81</a></p>
-<p id='n82' class='stm run hide_run'><a href='#n82'>82</a></p>
-<p id='n83' class='stm run hide_run'><a href='#n83'>83</a></p>
-<p id='n84' class='stm run hide_run'><a href='#n84'>84</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>The Response class in REST framework is similar to HTTPResponse, except that</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>it is initialized with unrendered data, instead of a pre-rendered string.</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>The appropriate renderer is called during Django&#39;s template response rendering.</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>handlers</span><span class='op'>.</span><span class='nam'>wsgi</span> <span class='key'>import</span> <span class='nam'>STATUS_CODE_TEXT</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>template</span><span class='op'>.</span><span class='nam'>response</span> <span class='key'>import</span> <span class='nam'>SimpleTemplateResponse</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>six</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>Response</span><span class='op'>(</span><span class='nam'>SimpleTemplateResponse</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='str'>&nbsp; &nbsp; An HttpResponse that allows its data to be rendered into</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='str'>&nbsp; &nbsp; arbitrary media types.</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>status</span><span class='op'>=</span><span class='num'>200</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>template_name</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>headers</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>exception</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>,</span> <span class='nam'>content_type</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Alters the init arguments slightly.</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; For example, drop &#39;template_name&#39;, and instead use &#39;data&#39;.</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Setting &#39;renderer&#39; and &#39;media_type&#39; will typically be deferred,</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; For example being set automatically by the `APIView`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>Response</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>status</span><span class='op'>=</span><span class='nam'>status</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>data</span> <span class='op'>=</span> <span class='nam'>data</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>template_name</span> <span class='op'>=</span> <span class='nam'>template_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>exception</span> <span class='op'>=</span> <span class='nam'>exception</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>content_type</span> <span class='op'>=</span> <span class='nam'>content_type</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>headers</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>name</span><span class='op'>,</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>iteritems</span><span class='op'>(</span><span class='nam'>headers</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>[</span><span class='nam'>name</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>rendered_content</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>renderer</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;accepted_renderer&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>media_type</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;accepted_media_type&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>context</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;renderer_context&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>renderer</span><span class='op'>,</span> <span class='str'>&quot;.accepted_renderer not set on Response&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>media_type</span><span class='op'>,</span> <span class='str'>&quot;.accepted_media_type not set on Response&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>context</span><span class='op'>,</span> <span class='str'>&quot;.renderer_context not set on Response&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>context</span><span class='op'>[</span><span class='str'>&#39;response&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>self</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>charset</span> <span class='op'>=</span> <span class='nam'>renderer</span><span class='op'>.</span><span class='nam'>charset</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content_type</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>content_type</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>content_type</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>charset</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content_type</span> <span class='op'>=</span> <span class='str'>&quot;{0}; charset={1}&quot;</span><span class='op'>.</span><span class='nam'>format</span><span class='op'>(</span><span class='nam'>media_type</span><span class='op'>,</span> <span class='nam'>charset</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>content_type</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content_type</span> <span class='op'>=</span> <span class='nam'>media_type</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>[</span><span class='str'>&#39;Content-Type&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>content_type</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>renderer</span><span class='op'>.</span><span class='nam'>render</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>media_type</span><span class='op'>,</span> <span class='nam'>context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>ret</span><span class='op'>,</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>text_type</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>charset</span><span class='op'>,</span> <span class='str'>&#39;renderer returned unicode, and did not specify &#39;</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;a charset value.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>bytes</span><span class='op'>(</span><span class='nam'>ret</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='nam'>charset</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>status_text</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns reason text corresponding to our HTTP response status code.</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Provided for convenience.</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># TODO: Deprecate and use a template tag instead</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># TODO: Status code text for RFC 6585 status codes</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>STATUS_CODE_TEXT</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>status_code</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__getstate__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Remove attributes from the response that shouldn&#39;t be cached</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>state</span> <span class='op'>=</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>Response</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__getstate__</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span> <span class='key'>in</span> <span class='op'>(</span><span class='str'>&#39;accepted_renderer&#39;</span><span class='op'>,</span> <span class='str'>&#39;renderer_context&#39;</span><span class='op'>,</span> <span class='str'>&#39;data&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>key</span> <span class='key'>in</span> <span class='nam'>state</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>del</span> <span class='nam'>state</span><span class='op'>[</span><span class='nam'>key</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>state</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_reverse.html b/htmlcov/rest_framework_reverse.html
deleted file mode 100644
index 4e7a8de2..00000000
--- a/htmlcov/rest_framework_reverse.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/reverse: 75%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/reverse</b> :
- <span class='pc_cov'>75%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 12 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>9 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>3 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='stm run hide_run'><a href='#n4'>4</a></p>
-<p id='n5' class='stm run hide_run'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm mis'><a href='#n15'>15</a></p>
-<p id='n16' class='stm mis'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='stm mis'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Provide reverse functions that return fully qualified URLs</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>urlresolvers</span> <span class='key'>import</span> <span class='nam'>reverse</span> <span class='key'>as</span> <span class='nam'>django_reverse</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>functional</span> <span class='key'>import</span> <span class='nam'>lazy</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>reverse</span><span class='op'>(</span><span class='nam'>viewname</span><span class='op'>,</span> <span class='nam'>args</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>kwargs</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>extra</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='str'>&nbsp; &nbsp; Same as `django.core.urlresolvers.reverse`, but optionally takes a request</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'><span class='str'>&nbsp; &nbsp; and returns a fully qualified URL, using the request to get the base URL.</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>format</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='nam'>kwargs</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;format&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>format</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>url</span> <span class='op'>=</span> <span class='nam'>django_reverse</span><span class='op'>(</span><span class='nam'>viewname</span><span class='op'>,</span> <span class='nam'>args</span><span class='op'>=</span><span class='nam'>args</span><span class='op'>,</span> <span class='nam'>kwargs</span><span class='op'>=</span><span class='nam'>kwargs</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>extra</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>request</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>build_absolute_uri</span><span class='op'>(</span><span class='nam'>url</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm mis'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>url</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'><span class='nam'>reverse_lazy</span> <span class='op'>=</span> <span class='nam'>lazy</span><span class='op'>(</span><span class='nam'>reverse</span><span class='op'>,</span> <span class='nam'>str</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_routers.html b/htmlcov/rest_framework_routers.html
deleted file mode 100644
index f08d5007..00000000
--- a/htmlcov/rest_framework_routers.html
+++ /dev/null
@@ -1,595 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/routers: 94%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/routers</b> :
- <span class='pc_cov'>94%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 108 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>101 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>7 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='pln'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='stm run hide_run'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='stm run hide_run'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='stm run hide_run'><a href='#n36'>36</a></p>
-<p id='n37' class='stm run hide_run'><a href='#n37'>37</a></p>
-<p id='n38' class='stm run hide_run'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='stm run hide_run'><a href='#n41'>41</a></p>
-<p id='n42' class='stm run hide_run'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='stm run hide_run'><a href='#n46'>46</a></p>
-<p id='n47' class='stm run hide_run'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='stm run hide_run'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='stm mis'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='stm run hide_run'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='stm mis'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='stm run hide_run'><a href='#n66'>66</a></p>
-<p id='n67' class='stm run hide_run'><a href='#n67'>67</a></p>
-<p id='n68' class='pln'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='stm run hide_run'><a href='#n70'>70</a></p>
-<p id='n71' class='stm run hide_run'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='pln'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='pln'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='pln'><a href='#n85'>85</a></p>
-<p id='n86' class='pln'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='pln'><a href='#n88'>88</a></p>
-<p id='n89' class='pln'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='pln'><a href='#n91'>91</a></p>
-<p id='n92' class='pln'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='pln'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='pln'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='pln'><a href='#n99'>99</a></p>
-<p id='n100' class='pln'><a href='#n100'>100</a></p>
-<p id='n101' class='pln'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='pln'><a href='#n103'>103</a></p>
-<p id='n104' class='pln'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='stm run hide_run'><a href='#n106'>106</a></p>
-<p id='n107' class='stm run hide_run'><a href='#n107'>107</a></p>
-<p id='n108' class='stm run hide_run'><a href='#n108'>108</a></p>
-<p id='n109' class='pln'><a href='#n109'>109</a></p>
-<p id='n110' class='stm run hide_run'><a href='#n110'>110</a></p>
-<p id='n111' class='pln'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='pln'><a href='#n114'>114</a></p>
-<p id='n115' class='stm run hide_run'><a href='#n115'>115</a></p>
-<p id='n116' class='stm run hide_run'><a href='#n116'>116</a></p>
-<p id='n117' class='stm run hide_run'><a href='#n117'>117</a></p>
-<p id='n118' class='stm run hide_run'><a href='#n118'>118</a></p>
-<p id='n119' class='pln'><a href='#n119'>119</a></p>
-<p id='n120' class='stm run hide_run'><a href='#n120'>120</a></p>
-<p id='n121' class='pln'><a href='#n121'>121</a></p>
-<p id='n122' class='pln'><a href='#n122'>122</a></p>
-<p id='n123' class='pln'><a href='#n123'>123</a></p>
-<p id='n124' class='stm run hide_run'><a href='#n124'>124</a></p>
-<p id='n125' class='pln'><a href='#n125'>125</a></p>
-<p id='n126' class='stm run hide_run'><a href='#n126'>126</a></p>
-<p id='n127' class='pln'><a href='#n127'>127</a></p>
-<p id='n128' class='pln'><a href='#n128'>128</a></p>
-<p id='n129' class='pln'><a href='#n129'>129</a></p>
-<p id='n130' class='pln'><a href='#n130'>130</a></p>
-<p id='n131' class='pln'><a href='#n131'>131</a></p>
-<p id='n132' class='pln'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='stm run hide_run'><a href='#n134'>134</a></p>
-<p id='n135' class='stm run hide_run'><a href='#n135'>135</a></p>
-<p id='n136' class='stm run hide_run'><a href='#n136'>136</a></p>
-<p id='n137' class='stm run hide_run'><a href='#n137'>137</a></p>
-<p id='n138' class='stm run hide_run'><a href='#n138'>138</a></p>
-<p id='n139' class='stm run hide_run'><a href='#n139'>139</a></p>
-<p id='n140' class='pln'><a href='#n140'>140</a></p>
-<p id='n141' class='stm run hide_run'><a href='#n141'>141</a></p>
-<p id='n142' class='stm run hide_run'><a href='#n142'>142</a></p>
-<p id='n143' class='stm run hide_run'><a href='#n143'>143</a></p>
-<p id='n144' class='pln'><a href='#n144'>144</a></p>
-<p id='n145' class='stm run hide_run'><a href='#n145'>145</a></p>
-<p id='n146' class='stm run hide_run'><a href='#n146'>146</a></p>
-<p id='n147' class='stm run hide_run'><a href='#n147'>147</a></p>
-<p id='n148' class='stm run hide_run'><a href='#n148'>148</a></p>
-<p id='n149' class='pln'><a href='#n149'>149</a></p>
-<p id='n150' class='pln'><a href='#n150'>150</a></p>
-<p id='n151' class='pln'><a href='#n151'>151</a></p>
-<p id='n152' class='pln'><a href='#n152'>152</a></p>
-<p id='n153' class='pln'><a href='#n153'>153</a></p>
-<p id='n154' class='pln'><a href='#n154'>154</a></p>
-<p id='n155' class='pln'><a href='#n155'>155</a></p>
-<p id='n156' class='stm run hide_run'><a href='#n156'>156</a></p>
-<p id='n157' class='pln'><a href='#n157'>157</a></p>
-<p id='n158' class='stm run hide_run'><a href='#n158'>158</a></p>
-<p id='n159' class='pln'><a href='#n159'>159</a></p>
-<p id='n160' class='stm run hide_run'><a href='#n160'>160</a></p>
-<p id='n161' class='pln'><a href='#n161'>161</a></p>
-<p id='n162' class='pln'><a href='#n162'>162</a></p>
-<p id='n163' class='pln'><a href='#n163'>163</a></p>
-<p id='n164' class='pln'><a href='#n164'>164</a></p>
-<p id='n165' class='pln'><a href='#n165'>165</a></p>
-<p id='n166' class='stm run hide_run'><a href='#n166'>166</a></p>
-<p id='n167' class='stm run hide_run'><a href='#n167'>167</a></p>
-<p id='n168' class='stm run hide_run'><a href='#n168'>168</a></p>
-<p id='n169' class='stm run hide_run'><a href='#n169'>169</a></p>
-<p id='n170' class='stm run hide_run'><a href='#n170'>170</a></p>
-<p id='n171' class='pln'><a href='#n171'>171</a></p>
-<p id='n172' class='stm run hide_run'><a href='#n172'>172</a></p>
-<p id='n173' class='pln'><a href='#n173'>173</a></p>
-<p id='n174' class='pln'><a href='#n174'>174</a></p>
-<p id='n175' class='pln'><a href='#n175'>175</a></p>
-<p id='n176' class='pln'><a href='#n176'>176</a></p>
-<p id='n177' class='stm run hide_run'><a href='#n177'>177</a></p>
-<p id='n178' class='stm run hide_run'><a href='#n178'>178</a></p>
-<p id='n179' class='stm run hide_run'><a href='#n179'>179</a></p>
-<p id='n180' class='pln'><a href='#n180'>180</a></p>
-<p id='n181' class='stm run hide_run'><a href='#n181'>181</a></p>
-<p id='n182' class='pln'><a href='#n182'>182</a></p>
-<p id='n183' class='pln'><a href='#n183'>183</a></p>
-<p id='n184' class='pln'><a href='#n184'>184</a></p>
-<p id='n185' class='stm run hide_run'><a href='#n185'>185</a></p>
-<p id='n186' class='pln'><a href='#n186'>186</a></p>
-<p id='n187' class='stm run hide_run'><a href='#n187'>187</a></p>
-<p id='n188' class='stm run hide_run'><a href='#n188'>188</a></p>
-<p id='n189' class='stm run hide_run'><a href='#n189'>189</a></p>
-<p id='n190' class='pln'><a href='#n190'>190</a></p>
-<p id='n191' class='stm run hide_run'><a href='#n191'>191</a></p>
-<p id='n192' class='pln'><a href='#n192'>192</a></p>
-<p id='n193' class='pln'><a href='#n193'>193</a></p>
-<p id='n194' class='stm run hide_run'><a href='#n194'>194</a></p>
-<p id='n195' class='stm run hide_run'><a href='#n195'>195</a></p>
-<p id='n196' class='stm mis'><a href='#n196'>196</a></p>
-<p id='n197' class='pln'><a href='#n197'>197</a></p>
-<p id='n198' class='pln'><a href='#n198'>198</a></p>
-<p id='n199' class='stm run hide_run'><a href='#n199'>199</a></p>
-<p id='n200' class='pln'><a href='#n200'>200</a></p>
-<p id='n201' class='pln'><a href='#n201'>201</a></p>
-<p id='n202' class='pln'><a href='#n202'>202</a></p>
-<p id='n203' class='pln'><a href='#n203'>203</a></p>
-<p id='n204' class='stm run hide_run'><a href='#n204'>204</a></p>
-<p id='n205' class='stm run hide_run'><a href='#n205'>205</a></p>
-<p id='n206' class='stm run hide_run'><a href='#n206'>206</a></p>
-<p id='n207' class='pln'><a href='#n207'>207</a></p>
-<p id='n208' class='stm run hide_run'><a href='#n208'>208</a></p>
-<p id='n209' class='pln'><a href='#n209'>209</a></p>
-<p id='n210' class='pln'><a href='#n210'>210</a></p>
-<p id='n211' class='stm run hide_run'><a href='#n211'>211</a></p>
-<p id='n212' class='pln'><a href='#n212'>212</a></p>
-<p id='n213' class='pln'><a href='#n213'>213</a></p>
-<p id='n214' class='pln'><a href='#n214'>214</a></p>
-<p id='n215' class='pln'><a href='#n215'>215</a></p>
-<p id='n216' class='stm run hide_run'><a href='#n216'>216</a></p>
-<p id='n217' class='stm run hide_run'><a href='#n217'>217</a></p>
-<p id='n218' class='stm run hide_run'><a href='#n218'>218</a></p>
-<p id='n219' class='pln'><a href='#n219'>219</a></p>
-<p id='n220' class='stm run hide_run'><a href='#n220'>220</a></p>
-<p id='n221' class='pln'><a href='#n221'>221</a></p>
-<p id='n222' class='pln'><a href='#n222'>222</a></p>
-<p id='n223' class='pln'><a href='#n223'>223</a></p>
-<p id='n224' class='stm run hide_run'><a href='#n224'>224</a></p>
-<p id='n225' class='stm run hide_run'><a href='#n225'>225</a></p>
-<p id='n226' class='stm run hide_run'><a href='#n226'>226</a></p>
-<p id='n227' class='stm run hide_run'><a href='#n227'>227</a></p>
-<p id='n228' class='pln'><a href='#n228'>228</a></p>
-<p id='n229' class='stm run hide_run'><a href='#n229'>229</a></p>
-<p id='n230' class='stm run hide_run'><a href='#n230'>230</a></p>
-<p id='n231' class='pln'><a href='#n231'>231</a></p>
-<p id='n232' class='stm run hide_run'><a href='#n232'>232</a></p>
-<p id='n233' class='stm mis'><a href='#n233'>233</a></p>
-<p id='n234' class='stm mis'><a href='#n234'>234</a></p>
-<p id='n235' class='stm mis'><a href='#n235'>235</a></p>
-<p id='n236' class='stm mis'><a href='#n236'>236</a></p>
-<p id='n237' class='pln'><a href='#n237'>237</a></p>
-<p id='n238' class='stm run hide_run'><a href='#n238'>238</a></p>
-<p id='n239' class='pln'><a href='#n239'>239</a></p>
-<p id='n240' class='stm run hide_run'><a href='#n240'>240</a></p>
-<p id='n241' class='pln'><a href='#n241'>241</a></p>
-<p id='n242' class='pln'><a href='#n242'>242</a></p>
-<p id='n243' class='pln'><a href='#n243'>243</a></p>
-<p id='n244' class='pln'><a href='#n244'>244</a></p>
-<p id='n245' class='stm run hide_run'><a href='#n245'>245</a></p>
-<p id='n246' class='pln'><a href='#n246'>246</a></p>
-<p id='n247' class='stm run hide_run'><a href='#n247'>247</a></p>
-<p id='n248' class='stm run hide_run'><a href='#n248'>248</a></p>
-<p id='n249' class='stm run hide_run'><a href='#n249'>249</a></p>
-<p id='n250' class='pln'><a href='#n250'>250</a></p>
-<p id='n251' class='stm run hide_run'><a href='#n251'>251</a></p>
-<p id='n252' class='stm run hide_run'><a href='#n252'>252</a></p>
-<p id='n253' class='pln'><a href='#n253'>253</a></p>
-<p id='n254' class='stm run hide_run'><a href='#n254'>254</a></p>
-<p id='n255' class='stm run hide_run'><a href='#n255'>255</a></p>
-<p id='n256' class='pln'><a href='#n256'>256</a></p>
-<p id='n257' class='stm run hide_run'><a href='#n257'>257</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Routers provide a convenient and consistent way of automatically</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>determining the URL conf for your API.</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>They are used by simply instantiating a Router class, and then registering</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='str'>all the required ViewSets with that router.</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='str'>For example, you might have a `urls.py` that looks something like this:</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='str'>&nbsp; &nbsp; router = routers.DefaultRouter()</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='str'>&nbsp; &nbsp; router.register(&#39;users&#39;, UserViewSet, &#39;user&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'><span class='str'>&nbsp; &nbsp; router.register(&#39;accounts&#39;, AccountViewSet, &#39;account&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='str'>&nbsp; &nbsp; urlpatterns = router.urls</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>collections</span> <span class='key'>import</span> <span class='nam'>namedtuple</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>views</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>patterns</span><span class='op'>,</span> <span class='nam'>url</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>response</span> <span class='key'>import</span> <span class='nam'>Response</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>reverse</span> <span class='key'>import</span> <span class='nam'>reverse</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>urlpatterns</span> <span class='key'>import</span> <span class='nam'>format_suffix_patterns</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'><span class='nam'>Route</span> <span class='op'>=</span> <span class='nam'>namedtuple</span><span class='op'>(</span><span class='str'>&#39;Route&#39;</span><span class='op'>,</span> <span class='op'>[</span><span class='str'>&#39;url&#39;</span><span class='op'>,</span> <span class='str'>&#39;mapping&#39;</span><span class='op'>,</span> <span class='str'>&#39;name&#39;</span><span class='op'>,</span> <span class='str'>&#39;initkwargs&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>replace_methodname</span><span class='op'>(</span><span class='nam'>format_string</span><span class='op'>,</span> <span class='nam'>methodname</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'><span class='str'>&nbsp; &nbsp; Partially format a format_string, swapping out any</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='str'>&nbsp; &nbsp; &#39;{methodname}&#39; or &#39;{methodnamehyphen}&#39; components.</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>methodnamehyphen</span> <span class='op'>=</span> <span class='nam'>methodname</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>&#39;_&#39;</span><span class='op'>,</span> <span class='str'>&#39;-&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>format_string</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>&#39;{methodname}&#39;</span><span class='op'>,</span> <span class='nam'>methodname</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>&#39;{methodnamehyphen}&#39;</span><span class='op'>,</span> <span class='nam'>methodnamehyphen</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BaseRouter</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>registry</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>register</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>prefix</span><span class='op'>,</span> <span class='nam'>viewset</span><span class='op'>,</span> <span class='nam'>base_name</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>base_name</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>base_name</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_default_base_name</span><span class='op'>(</span><span class='nam'>viewset</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>registry</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='op'>(</span><span class='nam'>prefix</span><span class='op'>,</span> <span class='nam'>viewset</span><span class='op'>,</span> <span class='nam'>base_name</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_default_base_name</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>viewset</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If `base_name` is not specified, attempt to automatically determine</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; it from the viewset.</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>NotImplemented</span><span class='op'>(</span><span class='str'>&#39;get_default_base_name must be overridden&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_urls</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return a list of URL patterns, given the registered viewsets.</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>NotImplemented</span><span class='op'>(</span><span class='str'>&#39;get_urls must be overridden&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>urls</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_urls&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_urls</span> <span class='op'>=</span> <span class='nam'>patterns</span><span class='op'>(</span><span class='str'>&#39;&#39;</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_urls</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_urls</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>SimpleRouter</span><span class='op'>(</span><span class='nam'>BaseRouter</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>routes</span> <span class='op'>=</span> <span class='op'>[</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># List route.</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>Route</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>url</span><span class='op'>=</span><span class='str'>r&#39;^{prefix}{trailing_slash}$&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mapping</span><span class='op'>=</span><span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;get&#39;</span><span class='op'>:</span> <span class='str'>&#39;list&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;post&#39;</span><span class='op'>:</span> <span class='str'>&#39;create&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>name</span><span class='op'>=</span><span class='str'>&#39;{basename}-list&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>initkwargs</span><span class='op'>=</span><span class='op'>{</span><span class='str'>&#39;suffix&#39;</span><span class='op'>:</span> <span class='str'>&#39;List&#39;</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Detail route.</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>Route</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>url</span><span class='op'>=</span><span class='str'>r&#39;^{prefix}/{lookup}{trailing_slash}$&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mapping</span><span class='op'>=</span><span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;get&#39;</span><span class='op'>:</span> <span class='str'>&#39;retrieve&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;put&#39;</span><span class='op'>:</span> <span class='str'>&#39;update&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;patch&#39;</span><span class='op'>:</span> <span class='str'>&#39;partial_update&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;delete&#39;</span><span class='op'>:</span> <span class='str'>&#39;destroy&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>name</span><span class='op'>=</span><span class='str'>&#39;{basename}-detail&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>initkwargs</span><span class='op'>=</span><span class='op'>{</span><span class='str'>&#39;suffix&#39;</span><span class='op'>:</span> <span class='str'>&#39;Instance&#39;</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Dynamically generated routes.</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Generated using @action or @link decorators on methods of the viewset.</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>Route</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>url</span><span class='op'>=</span><span class='str'>r&#39;^{prefix}/{lookup}/{methodname}{trailing_slash}$&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mapping</span><span class='op'>=</span><span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;{httpmethod}&#39;</span><span class='op'>:</span> <span class='str'>&#39;{methodname}&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>name</span><span class='op'>=</span><span class='str'>&#39;{basename}-{methodnamehyphen}&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>initkwargs</span><span class='op'>=</span><span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='pln'>&nbsp; &nbsp; <span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>trailing_slash</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>trailing_slash</span> <span class='op'>=</span> <span class='nam'>trailing_slash</span> <span class='key'>and</span> <span class='str'>&#39;/&#39;</span> <span class='key'>or</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>SimpleRouter</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_default_base_name</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>viewset</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If `base_name` is not specified, attempt to automatically determine</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; it from the viewset.</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>model_cls</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>viewset</span><span class='op'>,</span> <span class='str'>&#39;model&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>queryset</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>viewset</span><span class='op'>,</span> <span class='str'>&#39;queryset&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>model_cls</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>queryset</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>model_cls</span> <span class='op'>=</span> <span class='nam'>queryset</span><span class='op'>.</span><span class='nam'>model</span><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>model_cls</span><span class='op'>,</span> <span class='str'>&#39;`name` not argument not specified, and could &#39;</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;not automatically determine the name from the viewset, as &#39;</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;it does not have a `.model` or `.queryset` attribute.&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>model_cls</span><span class='op'>.</span><span class='nam'>_meta</span><span class='op'>.</span><span class='nam'>object_name</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_routes</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>viewset</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Augment `self.routes` with any dynamically generated routes.</span><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a list of the Route namedtuple.</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Determine any `@action` or `@link` decorated methods on the viewset</span><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>dynamic_routes</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>methodname</span> <span class='key'>in</span> <span class='nam'>dir</span><span class='op'>(</span><span class='nam'>viewset</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>attr</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>viewset</span><span class='op'>,</span> <span class='nam'>methodname</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>httpmethods</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>attr</span><span class='op'>,</span> <span class='str'>&#39;bind_to_methods&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>httpmethods</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>dynamic_routes</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='op'>(</span><span class='nam'>httpmethods</span><span class='op'>,</span> <span class='nam'>methodname</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>route</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>routes</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>route</span><span class='op'>.</span><span class='nam'>mapping</span> <span class='op'>==</span> <span class='op'>{</span><span class='str'>&#39;{httpmethod}&#39;</span><span class='op'>:</span> <span class='str'>&#39;{methodname}&#39;</span><span class='op'>}</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Dynamic routes (@link or @action decorator)</span><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>httpmethods</span><span class='op'>,</span> <span class='nam'>methodname</span> <span class='key'>in</span> <span class='nam'>dynamic_routes</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>initkwargs</span> <span class='op'>=</span> <span class='nam'>route</span><span class='op'>.</span><span class='nam'>initkwargs</span><span class='op'>.</span><span class='nam'>copy</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>initkwargs</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>viewset</span><span class='op'>,</span> <span class='nam'>methodname</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>Route</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>url</span><span class='op'>=</span><span class='nam'>replace_methodname</span><span class='op'>(</span><span class='nam'>route</span><span class='op'>.</span><span class='nam'>url</span><span class='op'>,</span> <span class='nam'>methodname</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mapping</span><span class='op'>=</span><span class='nam'>dict</span><span class='op'>(</span><span class='op'>(</span><span class='nam'>httpmethod</span><span class='op'>,</span> <span class='nam'>methodname</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>httpmethod</span> <span class='key'>in</span> <span class='nam'>httpmethods</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>name</span><span class='op'>=</span><span class='nam'>replace_methodname</span><span class='op'>(</span><span class='nam'>route</span><span class='op'>.</span><span class='nam'>name</span><span class='op'>,</span> <span class='nam'>methodname</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>initkwargs</span><span class='op'>=</span><span class='nam'>initkwargs</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Standard route</span><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>route</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_method_map</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>viewset</span><span class='op'>,</span> <span class='nam'>method_map</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given a viewset, and a mapping of http methods to actions,</span><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; return a new mapping which only includes any mappings that</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; are actually implemented by the viewset.</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>bound_methods</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>action</span> <span class='key'>in</span> <span class='nam'>method_map</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>viewset</span><span class='op'>,</span> <span class='nam'>action</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>bound_methods</span><span class='op'>[</span><span class='nam'>method</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>action</span><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>bound_methods</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_lookup_regex</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>viewset</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given a viewset, return the portion of URL regex that is used</span><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; to match against a single instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>base_regex</span> <span class='op'>=</span> <span class='str'>&#39;(?P&lt;{lookup_field}&gt;[^/]+)&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lookup_field</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>viewset</span><span class='op'>,</span> <span class='str'>&#39;lookup_field&#39;</span><span class='op'>,</span> <span class='str'>&#39;pk&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>base_regex</span><span class='op'>.</span><span class='nam'>format</span><span class='op'>(</span><span class='nam'>lookup_field</span><span class='op'>=</span><span class='nam'>lookup_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_urls</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Use the registered viewsets to generate a list of URL patterns.</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>prefix</span><span class='op'>,</span> <span class='nam'>viewset</span><span class='op'>,</span> <span class='nam'>basename</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>registry</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lookup</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_lookup_regex</span><span class='op'>(</span><span class='nam'>viewset</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>routes</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_routes</span><span class='op'>(</span><span class='nam'>viewset</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>route</span> <span class='key'>in</span> <span class='nam'>routes</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t193' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Only actions which actually exist on the viewset will be bound</span><span class='strut'>&nbsp;</span></p>
-<p id='t194' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mapping</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_method_map</span><span class='op'>(</span><span class='nam'>viewset</span><span class='op'>,</span> <span class='nam'>route</span><span class='op'>.</span><span class='nam'>mapping</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t195' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>mapping</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t196' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>continue</span><span class='strut'>&nbsp;</span></p>
-<p id='t197' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t198' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Build the url pattern</span><span class='strut'>&nbsp;</span></p>
-<p id='t199' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>regex</span> <span class='op'>=</span> <span class='nam'>route</span><span class='op'>.</span><span class='nam'>url</span><span class='op'>.</span><span class='nam'>format</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t200' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>prefix</span><span class='op'>=</span><span class='nam'>prefix</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t201' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lookup</span><span class='op'>=</span><span class='nam'>lookup</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t202' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>trailing_slash</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>trailing_slash</span><span class='strut'>&nbsp;</span></p>
-<p id='t203' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t204' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span> <span class='op'>=</span> <span class='nam'>viewset</span><span class='op'>.</span><span class='nam'>as_view</span><span class='op'>(</span><span class='nam'>mapping</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>route</span><span class='op'>.</span><span class='nam'>initkwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t205' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>name</span> <span class='op'>=</span> <span class='nam'>route</span><span class='op'>.</span><span class='nam'>name</span><span class='op'>.</span><span class='nam'>format</span><span class='op'>(</span><span class='nam'>basename</span><span class='op'>=</span><span class='nam'>basename</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t206' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>url</span><span class='op'>(</span><span class='nam'>regex</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>=</span><span class='nam'>name</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t207' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t208' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t209' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t210' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t211' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>DefaultRouter</span><span class='op'>(</span><span class='nam'>SimpleRouter</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t212' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t213' class='pln'><span class='str'>&nbsp; &nbsp; The default router extends the SimpleRouter, but also adds in a default</span><span class='strut'>&nbsp;</span></p>
-<p id='t214' class='pln'><span class='str'>&nbsp; &nbsp; API root view, and adds format suffix patterns to the URLs.</span><span class='strut'>&nbsp;</span></p>
-<p id='t215' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t216' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>include_root_view</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t217' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>include_format_suffixes</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t218' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>root_view_name</span> <span class='op'>=</span> <span class='str'>&#39;api-root&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t219' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t220' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_api_root_view</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t221' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t222' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return a view to use as the API root.</span><span class='strut'>&nbsp;</span></p>
-<p id='t223' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t224' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>api_root_dict</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t225' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>list_name</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>routes</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>name</span><span class='strut'>&nbsp;</span></p>
-<p id='t226' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>prefix</span><span class='op'>,</span> <span class='nam'>viewset</span><span class='op'>,</span> <span class='nam'>basename</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>registry</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t227' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>api_root_dict</span><span class='op'>[</span><span class='nam'>prefix</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>list_name</span><span class='op'>.</span><span class='nam'>format</span><span class='op'>(</span><span class='nam'>basename</span><span class='op'>=</span><span class='nam'>basename</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t228' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t229' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>APIRoot</span><span class='op'>(</span><span class='nam'>views</span><span class='op'>.</span><span class='nam'>APIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t230' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>_ignore_model_permissions</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t231' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t232' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t233' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t234' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span><span class='op'>,</span> <span class='nam'>url_name</span> <span class='key'>in</span> <span class='nam'>api_root_dict</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t235' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='nam'>key</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>reverse</span><span class='op'>(</span><span class='nam'>url_name</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>=</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>format</span><span class='op'>=</span><span class='nam'>format</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t236' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='nam'>ret</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t237' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t238' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>APIRoot</span><span class='op'>.</span><span class='nam'>as_view</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t239' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t240' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_urls</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t241' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t242' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Generate the list of URL patterns, including a default root view</span><span class='strut'>&nbsp;</span></p>
-<p id='t243' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; for the API, and appending `.json` style format suffixes.</span><span class='strut'>&nbsp;</span></p>
-<p id='t244' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t245' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>urls</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t246' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t247' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>include_root_view</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t248' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>root_url</span> <span class='op'>=</span> <span class='nam'>url</span><span class='op'>(</span><span class='str'>r&#39;^$&#39;</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_api_root_view</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>root_view_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t249' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>urls</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>root_url</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t250' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t251' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>default_urls</span> <span class='op'>=</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>DefaultRouter</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>get_urls</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t252' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>urls</span><span class='op'>.</span><span class='nam'>extend</span><span class='op'>(</span><span class='nam'>default_urls</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t253' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t254' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>include_format_suffixes</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t255' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>urls</span> <span class='op'>=</span> <span class='nam'>format_suffix_patterns</span><span class='op'>(</span><span class='nam'>urls</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t256' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t257' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>urls</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_serializers.html b/htmlcov/rest_framework_serializers.html
deleted file mode 100644
index 79dc5647..00000000
--- a/htmlcov/rest_framework_serializers.html
+++ /dev/null
@@ -1,2011 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/serializers: 94%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/serializers</b> :
- <span class='pc_cov'>94%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 464 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>437 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>27 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='pln'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='stm run hide_run'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='stm run hide_run'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='stm mis'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='stm run hide_run'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='pln'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='pln'><a href='#n63'>63</a></p>
-<p id='n64' class='stm run hide_run'><a href='#n64'>64</a></p>
-<p id='n65' class='pln'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='stm run hide_run'><a href='#n67'>67</a></p>
-<p id='n68' class='pln'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='pln'><a href='#n70'>70</a></p>
-<p id='n71' class='stm run hide_run'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='stm run hide_run'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='stm run hide_run'><a href='#n80'>80</a></p>
-<p id='n81' class='pln'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='stm mis'><a href='#n85'>85</a></p>
-<p id='n86' class='pln'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='pln'><a href='#n88'>88</a></p>
-<p id='n89' class='pln'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='pln'><a href='#n91'>91</a></p>
-<p id='n92' class='pln'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='stm run hide_run'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='pln'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='pln'><a href='#n99'>99</a></p>
-<p id='n100' class='pln'><a href='#n100'>100</a></p>
-<p id='n101' class='stm run hide_run'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='pln'><a href='#n103'>103</a></p>
-<p id='n104' class='stm run hide_run'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='pln'><a href='#n106'>106</a></p>
-<p id='n107' class='pln'><a href='#n107'>107</a></p>
-<p id='n108' class='pln'><a href='#n108'>108</a></p>
-<p id='n109' class='stm run hide_run'><a href='#n109'>109</a></p>
-<p id='n110' class='stm run hide_run'><a href='#n110'>110</a></p>
-<p id='n111' class='stm run hide_run'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='stm run hide_run'><a href='#n113'>113</a></p>
-<p id='n114' class='pln'><a href='#n114'>114</a></p>
-<p id='n115' class='pln'><a href='#n115'>115</a></p>
-<p id='n116' class='stm run hide_run'><a href='#n116'>116</a></p>
-<p id='n117' class='stm run hide_run'><a href='#n117'>117</a></p>
-<p id='n118' class='stm run hide_run'><a href='#n118'>118</a></p>
-<p id='n119' class='stm run hide_run'><a href='#n119'>119</a></p>
-<p id='n120' class='pln'><a href='#n120'>120</a></p>
-<p id='n121' class='pln'><a href='#n121'>121</a></p>
-<p id='n122' class='stm run hide_run'><a href='#n122'>122</a></p>
-<p id='n123' class='pln'><a href='#n123'>123</a></p>
-<p id='n124' class='pln'><a href='#n124'>124</a></p>
-<p id='n125' class='pln'><a href='#n125'>125</a></p>
-<p id='n126' class='stm run hide_run'><a href='#n126'>126</a></p>
-<p id='n127' class='stm run hide_run'><a href='#n127'>127</a></p>
-<p id='n128' class='stm run hide_run'><a href='#n128'>128</a></p>
-<p id='n129' class='stm run hide_run'><a href='#n129'>129</a></p>
-<p id='n130' class='pln'><a href='#n130'>130</a></p>
-<p id='n131' class='pln'><a href='#n131'>131</a></p>
-<p id='n132' class='stm run hide_run'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='pln'><a href='#n134'>134</a></p>
-<p id='n135' class='pln'><a href='#n135'>135</a></p>
-<p id='n136' class='pln'><a href='#n136'>136</a></p>
-<p id='n137' class='stm run hide_run'><a href='#n137'>137</a></p>
-<p id='n138' class='stm run hide_run'><a href='#n138'>138</a></p>
-<p id='n139' class='pln'><a href='#n139'>139</a></p>
-<p id='n140' class='stm run hide_run'><a href='#n140'>140</a></p>
-<p id='n141' class='stm run hide_run'><a href='#n141'>141</a></p>
-<p id='n142' class='pln'><a href='#n142'>142</a></p>
-<p id='n143' class='stm run hide_run'><a href='#n143'>143</a></p>
-<p id='n144' class='pln'><a href='#n144'>144</a></p>
-<p id='n145' class='pln'><a href='#n145'>145</a></p>
-<p id='n146' class='stm run hide_run'><a href='#n146'>146</a></p>
-<p id='n147' class='stm run hide_run'><a href='#n147'>147</a></p>
-<p id='n148' class='stm run hide_run'><a href='#n148'>148</a></p>
-<p id='n149' class='stm run hide_run'><a href='#n149'>149</a></p>
-<p id='n150' class='stm run hide_run'><a href='#n150'>150</a></p>
-<p id='n151' class='stm run hide_run'><a href='#n151'>151</a></p>
-<p id='n152' class='stm run hide_run'><a href='#n152'>152</a></p>
-<p id='n153' class='pln'><a href='#n153'>153</a></p>
-<p id='n154' class='stm run hide_run'><a href='#n154'>154</a></p>
-<p id='n155' class='pln'><a href='#n155'>155</a></p>
-<p id='n156' class='stm run hide_run'><a href='#n156'>156</a></p>
-<p id='n157' class='stm run hide_run'><a href='#n157'>157</a></p>
-<p id='n158' class='stm run hide_run'><a href='#n158'>158</a></p>
-<p id='n159' class='stm run hide_run'><a href='#n159'>159</a></p>
-<p id='n160' class='pln'><a href='#n160'>160</a></p>
-<p id='n161' class='stm run hide_run'><a href='#n161'>161</a></p>
-<p id='n162' class='stm run hide_run'><a href='#n162'>162</a></p>
-<p id='n163' class='stm run hide_run'><a href='#n163'>163</a></p>
-<p id='n164' class='stm run hide_run'><a href='#n164'>164</a></p>
-<p id='n165' class='pln'><a href='#n165'>165</a></p>
-<p id='n166' class='stm run hide_run'><a href='#n166'>166</a></p>
-<p id='n167' class='stm mis'><a href='#n167'>167</a></p>
-<p id='n168' class='pln'><a href='#n168'>168</a></p>
-<p id='n169' class='stm run hide_run'><a href='#n169'>169</a></p>
-<p id='n170' class='stm mis'><a href='#n170'>170</a></p>
-<p id='n171' class='pln'><a href='#n171'>171</a></p>
-<p id='n172' class='pln'><a href='#n172'>172</a></p>
-<p id='n173' class='pln'><a href='#n173'>173</a></p>
-<p id='n174' class='pln'><a href='#n174'>174</a></p>
-<p id='n175' class='stm run hide_run'><a href='#n175'>175</a></p>
-<p id='n176' class='pln'><a href='#n176'>176</a></p>
-<p id='n177' class='pln'><a href='#n177'>177</a></p>
-<p id='n178' class='pln'><a href='#n178'>178</a></p>
-<p id='n179' class='stm run hide_run'><a href='#n179'>179</a></p>
-<p id='n180' class='pln'><a href='#n180'>180</a></p>
-<p id='n181' class='stm run hide_run'><a href='#n181'>181</a></p>
-<p id='n182' class='pln'><a href='#n182'>182</a></p>
-<p id='n183' class='pln'><a href='#n183'>183</a></p>
-<p id='n184' class='pln'><a href='#n184'>184</a></p>
-<p id='n185' class='pln'><a href='#n185'>185</a></p>
-<p id='n186' class='pln'><a href='#n186'>186</a></p>
-<p id='n187' class='pln'><a href='#n187'>187</a></p>
-<p id='n188' class='stm run hide_run'><a href='#n188'>188</a></p>
-<p id='n189' class='pln'><a href='#n189'>189</a></p>
-<p id='n190' class='pln'><a href='#n190'>190</a></p>
-<p id='n191' class='stm run hide_run'><a href='#n191'>191</a></p>
-<p id='n192' class='stm run hide_run'><a href='#n192'>192</a></p>
-<p id='n193' class='stm run hide_run'><a href='#n193'>193</a></p>
-<p id='n194' class='pln'><a href='#n194'>194</a></p>
-<p id='n195' class='pln'><a href='#n195'>195</a></p>
-<p id='n196' class='stm run hide_run'><a href='#n196'>196</a></p>
-<p id='n197' class='stm run hide_run'><a href='#n197'>197</a></p>
-<p id='n198' class='stm run hide_run'><a href='#n198'>198</a></p>
-<p id='n199' class='stm run hide_run'><a href='#n199'>199</a></p>
-<p id='n200' class='pln'><a href='#n200'>200</a></p>
-<p id='n201' class='pln'><a href='#n201'>201</a></p>
-<p id='n202' class='stm run hide_run'><a href='#n202'>202</a></p>
-<p id='n203' class='stm run hide_run'><a href='#n203'>203</a></p>
-<p id='n204' class='stm run hide_run'><a href='#n204'>204</a></p>
-<p id='n205' class='stm run hide_run'><a href='#n205'>205</a></p>
-<p id='n206' class='stm run hide_run'><a href='#n206'>206</a></p>
-<p id='n207' class='stm run hide_run'><a href='#n207'>207</a></p>
-<p id='n208' class='pln'><a href='#n208'>208</a></p>
-<p id='n209' class='pln'><a href='#n209'>209</a></p>
-<p id='n210' class='stm run hide_run'><a href='#n210'>210</a></p>
-<p id='n211' class='stm run hide_run'><a href='#n211'>211</a></p>
-<p id='n212' class='stm run hide_run'><a href='#n212'>212</a></p>
-<p id='n213' class='stm run hide_run'><a href='#n213'>213</a></p>
-<p id='n214' class='pln'><a href='#n214'>214</a></p>
-<p id='n215' class='stm run hide_run'><a href='#n215'>215</a></p>
-<p id='n216' class='stm run hide_run'><a href='#n216'>216</a></p>
-<p id='n217' class='pln'><a href='#n217'>217</a></p>
-<p id='n218' class='stm run hide_run'><a href='#n218'>218</a></p>
-<p id='n219' class='pln'><a href='#n219'>219</a></p>
-<p id='n220' class='pln'><a href='#n220'>220</a></p>
-<p id='n221' class='pln'><a href='#n221'>221</a></p>
-<p id='n222' class='pln'><a href='#n222'>222</a></p>
-<p id='n223' class='stm run hide_run'><a href='#n223'>223</a></p>
-<p id='n224' class='pln'><a href='#n224'>224</a></p>
-<p id='n225' class='pln'><a href='#n225'>225</a></p>
-<p id='n226' class='pln'><a href='#n226'>226</a></p>
-<p id='n227' class='stm run hide_run'><a href='#n227'>227</a></p>
-<p id='n228' class='pln'><a href='#n228'>228</a></p>
-<p id='n229' class='stm run hide_run'><a href='#n229'>229</a></p>
-<p id='n230' class='pln'><a href='#n230'>230</a></p>
-<p id='n231' class='pln'><a href='#n231'>231</a></p>
-<p id='n232' class='pln'><a href='#n232'>232</a></p>
-<p id='n233' class='pln'><a href='#n233'>233</a></p>
-<p id='n234' class='stm run hide_run'><a href='#n234'>234</a></p>
-<p id='n235' class='pln'><a href='#n235'>235</a></p>
-<p id='n236' class='stm run hide_run'><a href='#n236'>236</a></p>
-<p id='n237' class='stm run hide_run'><a href='#n237'>237</a></p>
-<p id='n238' class='stm run hide_run'><a href='#n238'>238</a></p>
-<p id='n239' class='pln'><a href='#n239'>239</a></p>
-<p id='n240' class='stm run hide_run'><a href='#n240'>240</a></p>
-<p id='n241' class='stm run hide_run'><a href='#n241'>241</a></p>
-<p id='n242' class='stm run hide_run'><a href='#n242'>242</a></p>
-<p id='n243' class='stm run hide_run'><a href='#n243'>243</a></p>
-<p id='n244' class='stm run hide_run'><a href='#n244'>244</a></p>
-<p id='n245' class='stm run hide_run'><a href='#n245'>245</a></p>
-<p id='n246' class='pln'><a href='#n246'>246</a></p>
-<p id='n247' class='stm run hide_run'><a href='#n247'>247</a></p>
-<p id='n248' class='pln'><a href='#n248'>248</a></p>
-<p id='n249' class='stm run hide_run'><a href='#n249'>249</a></p>
-<p id='n250' class='pln'><a href='#n250'>250</a></p>
-<p id='n251' class='pln'><a href='#n251'>251</a></p>
-<p id='n252' class='pln'><a href='#n252'>252</a></p>
-<p id='n253' class='stm run hide_run'><a href='#n253'>253</a></p>
-<p id='n254' class='stm run hide_run'><a href='#n254'>254</a></p>
-<p id='n255' class='stm run hide_run'><a href='#n255'>255</a></p>
-<p id='n256' class='stm run hide_run'><a href='#n256'>256</a></p>
-<p id='n257' class='stm run hide_run'><a href='#n257'>257</a></p>
-<p id='n258' class='stm run hide_run'><a href='#n258'>258</a></p>
-<p id='n259' class='stm run hide_run'><a href='#n259'>259</a></p>
-<p id='n260' class='stm run hide_run'><a href='#n260'>260</a></p>
-<p id='n261' class='stm run hide_run'><a href='#n261'>261</a></p>
-<p id='n262' class='stm run hide_run'><a href='#n262'>262</a></p>
-<p id='n263' class='pln'><a href='#n263'>263</a></p>
-<p id='n264' class='pln'><a href='#n264'>264</a></p>
-<p id='n265' class='pln'><a href='#n265'>265</a></p>
-<p id='n266' class='pln'><a href='#n266'>266</a></p>
-<p id='n267' class='stm run hide_run'><a href='#n267'>267</a></p>
-<p id='n268' class='stm run hide_run'><a href='#n268'>268</a></p>
-<p id='n269' class='stm run hide_run'><a href='#n269'>269</a></p>
-<p id='n270' class='stm run hide_run'><a href='#n270'>270</a></p>
-<p id='n271' class='stm run hide_run'><a href='#n271'>271</a></p>
-<p id='n272' class='stm mis'><a href='#n272'>272</a></p>
-<p id='n273' class='stm mis'><a href='#n273'>273</a></p>
-<p id='n274' class='stm run hide_run'><a href='#n274'>274</a></p>
-<p id='n275' class='stm run hide_run'><a href='#n275'>275</a></p>
-<p id='n276' class='pln'><a href='#n276'>276</a></p>
-<p id='n277' class='stm run hide_run'><a href='#n277'>277</a></p>
-<p id='n278' class='pln'><a href='#n278'>278</a></p>
-<p id='n279' class='stm run hide_run'><a href='#n279'>279</a></p>
-<p id='n280' class='pln'><a href='#n280'>280</a></p>
-<p id='n281' class='pln'><a href='#n281'>281</a></p>
-<p id='n282' class='pln'><a href='#n282'>282</a></p>
-<p id='n283' class='stm run hide_run'><a href='#n283'>283</a></p>
-<p id='n284' class='pln'><a href='#n284'>284</a></p>
-<p id='n285' class='stm run hide_run'><a href='#n285'>285</a></p>
-<p id='n286' class='pln'><a href='#n286'>286</a></p>
-<p id='n287' class='pln'><a href='#n287'>287</a></p>
-<p id='n288' class='pln'><a href='#n288'>288</a></p>
-<p id='n289' class='pln'><a href='#n289'>289</a></p>
-<p id='n290' class='pln'><a href='#n290'>290</a></p>
-<p id='n291' class='stm run hide_run'><a href='#n291'>291</a></p>
-<p id='n292' class='stm mis'><a href='#n292'>292</a></p>
-<p id='n293' class='stm mis'><a href='#n293'>293</a></p>
-<p id='n294' class='stm run hide_run'><a href='#n294'>294</a></p>
-<p id='n295' class='pln'><a href='#n295'>295</a></p>
-<p id='n296' class='stm run hide_run'><a href='#n296'>296</a></p>
-<p id='n297' class='pln'><a href='#n297'>297</a></p>
-<p id='n298' class='pln'><a href='#n298'>298</a></p>
-<p id='n299' class='pln'><a href='#n299'>299</a></p>
-<p id='n300' class='stm run hide_run'><a href='#n300'>300</a></p>
-<p id='n301' class='stm run hide_run'><a href='#n301'>301</a></p>
-<p id='n302' class='pln'><a href='#n302'>302</a></p>
-<p id='n303' class='stm run hide_run'><a href='#n303'>303</a></p>
-<p id='n304' class='stm run hide_run'><a href='#n304'>304</a></p>
-<p id='n305' class='stm run hide_run'><a href='#n305'>305</a></p>
-<p id='n306' class='stm run hide_run'><a href='#n306'>306</a></p>
-<p id='n307' class='stm run hide_run'><a href='#n307'>307</a></p>
-<p id='n308' class='stm run hide_run'><a href='#n308'>308</a></p>
-<p id='n309' class='stm run hide_run'><a href='#n309'>309</a></p>
-<p id='n310' class='pln'><a href='#n310'>310</a></p>
-<p id='n311' class='stm run hide_run'><a href='#n311'>311</a></p>
-<p id='n312' class='pln'><a href='#n312'>312</a></p>
-<p id='n313' class='pln'><a href='#n313'>313</a></p>
-<p id='n314' class='pln'><a href='#n314'>314</a></p>
-<p id='n315' class='stm run hide_run'><a href='#n315'>315</a></p>
-<p id='n316' class='stm run hide_run'><a href='#n316'>316</a></p>
-<p id='n317' class='stm run hide_run'><a href='#n317'>317</a></p>
-<p id='n318' class='stm run hide_run'><a href='#n318'>318</a></p>
-<p id='n319' class='stm run hide_run'><a href='#n319'>319</a></p>
-<p id='n320' class='pln'><a href='#n320'>320</a></p>
-<p id='n321' class='stm mis'><a href='#n321'>321</a></p>
-<p id='n322' class='pln'><a href='#n322'>322</a></p>
-<p id='n323' class='stm run hide_run'><a href='#n323'>323</a></p>
-<p id='n324' class='stm run hide_run'><a href='#n324'>324</a></p>
-<p id='n325' class='pln'><a href='#n325'>325</a></p>
-<p id='n326' class='stm run hide_run'><a href='#n326'>326</a></p>
-<p id='n327' class='pln'><a href='#n327'>327</a></p>
-<p id='n328' class='pln'><a href='#n328'>328</a></p>
-<p id='n329' class='pln'><a href='#n329'>329</a></p>
-<p id='n330' class='pln'><a href='#n330'>330</a></p>
-<p id='n331' class='stm run hide_run'><a href='#n331'>331</a></p>
-<p id='n332' class='stm run hide_run'><a href='#n332'>332</a></p>
-<p id='n333' class='pln'><a href='#n333'>333</a></p>
-<p id='n334' class='stm run hide_run'><a href='#n334'>334</a></p>
-<p id='n335' class='stm run hide_run'><a href='#n335'>335</a></p>
-<p id='n336' class='stm run hide_run'><a href='#n336'>336</a></p>
-<p id='n337' class='pln'><a href='#n337'>337</a></p>
-<p id='n338' class='stm run hide_run'><a href='#n338'>338</a></p>
-<p id='n339' class='stm run hide_run'><a href='#n339'>339</a></p>
-<p id='n340' class='stm run hide_run'><a href='#n340'>340</a></p>
-<p id='n341' class='stm run hide_run'><a href='#n341'>341</a></p>
-<p id='n342' class='stm run hide_run'><a href='#n342'>342</a></p>
-<p id='n343' class='stm run hide_run'><a href='#n343'>343</a></p>
-<p id='n344' class='pln'><a href='#n344'>344</a></p>
-<p id='n345' class='stm run hide_run'><a href='#n345'>345</a></p>
-<p id='n346' class='stm run hide_run'><a href='#n346'>346</a></p>
-<p id='n347' class='pln'><a href='#n347'>347</a></p>
-<p id='n348' class='stm run hide_run'><a href='#n348'>348</a></p>
-<p id='n349' class='stm run hide_run'><a href='#n349'>349</a></p>
-<p id='n350' class='pln'><a href='#n350'>350</a></p>
-<p id='n351' class='stm run hide_run'><a href='#n351'>351</a></p>
-<p id='n352' class='stm run hide_run'><a href='#n352'>352</a></p>
-<p id='n353' class='pln'><a href='#n353'>353</a></p>
-<p id='n354' class='stm run hide_run'><a href='#n354'>354</a></p>
-<p id='n355' class='pln'><a href='#n355'>355</a></p>
-<p id='n356' class='stm run hide_run'><a href='#n356'>356</a></p>
-<p id='n357' class='stm run hide_run'><a href='#n357'>357</a></p>
-<p id='n358' class='stm run hide_run'><a href='#n358'>358</a></p>
-<p id='n359' class='pln'><a href='#n359'>359</a></p>
-<p id='n360' class='stm run hide_run'><a href='#n360'>360</a></p>
-<p id='n361' class='pln'><a href='#n361'>361</a></p>
-<p id='n362' class='pln'><a href='#n362'>362</a></p>
-<p id='n363' class='pln'><a href='#n363'>363</a></p>
-<p id='n364' class='pln'><a href='#n364'>364</a></p>
-<p id='n365' class='stm run hide_run'><a href='#n365'>365</a></p>
-<p id='n366' class='stm mis'><a href='#n366'>366</a></p>
-<p id='n367' class='pln'><a href='#n367'>367</a></p>
-<p id='n368' class='stm run hide_run'><a href='#n368'>368</a></p>
-<p id='n369' class='stm run hide_run'><a href='#n369'>369</a></p>
-<p id='n370' class='stm run hide_run'><a href='#n370'>370</a></p>
-<p id='n371' class='stm run hide_run'><a href='#n371'>371</a></p>
-<p id='n372' class='pln'><a href='#n372'>372</a></p>
-<p id='n373' class='stm mis'><a href='#n373'>373</a></p>
-<p id='n374' class='pln'><a href='#n374'>374</a></p>
-<p id='n375' class='stm run hide_run'><a href='#n375'>375</a></p>
-<p id='n376' class='stm mis'><a href='#n376'>376</a></p>
-<p id='n377' class='stm run hide_run'><a href='#n377'>377</a></p>
-<p id='n378' class='pln'><a href='#n378'>378</a></p>
-<p id='n379' class='pln'><a href='#n379'>379</a></p>
-<p id='n380' class='stm run hide_run'><a href='#n380'>380</a></p>
-<p id='n381' class='pln'><a href='#n381'>381</a></p>
-<p id='n382' class='stm run hide_run'><a href='#n382'>382</a></p>
-<p id='n383' class='stm run hide_run'><a href='#n383'>383</a></p>
-<p id='n384' class='stm run hide_run'><a href='#n384'>384</a></p>
-<p id='n385' class='pln'><a href='#n385'>385</a></p>
-<p id='n386' class='stm run hide_run'><a href='#n386'>386</a></p>
-<p id='n387' class='stm mis'><a href='#n387'>387</a></p>
-<p id='n388' class='pln'><a href='#n388'>388</a></p>
-<p id='n389' class='stm run hide_run'><a href='#n389'>389</a></p>
-<p id='n390' class='pln'><a href='#n390'>390</a></p>
-<p id='n391' class='pln'><a href='#n391'>391</a></p>
-<p id='n392' class='pln'><a href='#n392'>392</a></p>
-<p id='n393' class='pln'><a href='#n393'>393</a></p>
-<p id='n394' class='pln'><a href='#n394'>394</a></p>
-<p id='n395' class='pln'><a href='#n395'>395</a></p>
-<p id='n396' class='stm run hide_run'><a href='#n396'>396</a></p>
-<p id='n397' class='pln'><a href='#n397'>397</a></p>
-<p id='n398' class='stm run hide_run'><a href='#n398'>398</a></p>
-<p id='n399' class='stm run hide_run'><a href='#n399'>399</a></p>
-<p id='n400' class='pln'><a href='#n400'>400</a></p>
-<p id='n401' class='pln'><a href='#n401'>401</a></p>
-<p id='n402' class='stm run hide_run'><a href='#n402'>402</a></p>
-<p id='n403' class='pln'><a href='#n403'>403</a></p>
-<p id='n404' class='stm run hide_run'><a href='#n404'>404</a></p>
-<p id='n405' class='pln'><a href='#n405'>405</a></p>
-<p id='n406' class='pln'><a href='#n406'>406</a></p>
-<p id='n407' class='pln'><a href='#n407'>407</a></p>
-<p id='n408' class='pln'><a href='#n408'>408</a></p>
-<p id='n409' class='pln'><a href='#n409'>409</a></p>
-<p id='n410' class='pln'><a href='#n410'>410</a></p>
-<p id='n411' class='pln'><a href='#n411'>411</a></p>
-<p id='n412' class='pln'><a href='#n412'>412</a></p>
-<p id='n413' class='stm run hide_run'><a href='#n413'>413</a></p>
-<p id='n414' class='stm run hide_run'><a href='#n414'>414</a></p>
-<p id='n415' class='stm mis'><a href='#n415'>415</a></p>
-<p id='n416' class='stm mis'><a href='#n416'>416</a></p>
-<p id='n417' class='pln'><a href='#n417'>417</a></p>
-<p id='n418' class='stm run hide_run'><a href='#n418'>418</a></p>
-<p id='n419' class='pln'><a href='#n419'>419</a></p>
-<p id='n420' class='pln'><a href='#n420'>420</a></p>
-<p id='n421' class='pln'><a href='#n421'>421</a></p>
-<p id='n422' class='pln'><a href='#n422'>422</a></p>
-<p id='n423' class='pln'><a href='#n423'>423</a></p>
-<p id='n424' class='stm run hide_run'><a href='#n424'>424</a></p>
-<p id='n425' class='stm run hide_run'><a href='#n425'>425</a></p>
-<p id='n426' class='pln'><a href='#n426'>426</a></p>
-<p id='n427' class='stm run hide_run'><a href='#n427'>427</a></p>
-<p id='n428' class='stm run hide_run'><a href='#n428'>428</a></p>
-<p id='n429' class='pln'><a href='#n429'>429</a></p>
-<p id='n430' class='stm run hide_run'><a href='#n430'>430</a></p>
-<p id='n431' class='stm run hide_run'><a href='#n431'>431</a></p>
-<p id='n432' class='stm mis'><a href='#n432'>432</a></p>
-<p id='n433' class='pln'><a href='#n433'>433</a></p>
-<p id='n434' class='pln'><a href='#n434'>434</a></p>
-<p id='n435' class='pln'><a href='#n435'>435</a></p>
-<p id='n436' class='stm run hide_run'><a href='#n436'>436</a></p>
-<p id='n437' class='stm run hide_run'><a href='#n437'>437</a></p>
-<p id='n438' class='stm run hide_run'><a href='#n438'>438</a></p>
-<p id='n439' class='stm run hide_run'><a href='#n439'>439</a></p>
-<p id='n440' class='pln'><a href='#n440'>440</a></p>
-<p id='n441' class='stm run hide_run'><a href='#n441'>441</a></p>
-<p id='n442' class='pln'><a href='#n442'>442</a></p>
-<p id='n443' class='pln'><a href='#n443'>443</a></p>
-<p id='n444' class='pln'><a href='#n444'>444</a></p>
-<p id='n445' class='pln'><a href='#n445'>445</a></p>
-<p id='n446' class='stm run hide_run'><a href='#n446'>446</a></p>
-<p id='n447' class='stm run hide_run'><a href='#n447'>447</a></p>
-<p id='n448' class='stm run hide_run'><a href='#n448'>448</a></p>
-<p id='n449' class='pln'><a href='#n449'>449</a></p>
-<p id='n450' class='stm run hide_run'><a href='#n450'>450</a></p>
-<p id='n451' class='stm run hide_run'><a href='#n451'>451</a></p>
-<p id='n452' class='stm run hide_run'><a href='#n452'>452</a></p>
-<p id='n453' class='pln'><a href='#n453'>453</a></p>
-<p id='n454' class='stm run hide_run'><a href='#n454'>454</a></p>
-<p id='n455' class='stm run hide_run'><a href='#n455'>455</a></p>
-<p id='n456' class='stm run hide_run'><a href='#n456'>456</a></p>
-<p id='n457' class='stm run hide_run'><a href='#n457'>457</a></p>
-<p id='n458' class='stm run hide_run'><a href='#n458'>458</a></p>
-<p id='n459' class='stm run hide_run'><a href='#n459'>459</a></p>
-<p id='n460' class='pln'><a href='#n460'>460</a></p>
-<p id='n461' class='stm run hide_run'><a href='#n461'>461</a></p>
-<p id='n462' class='stm run hide_run'><a href='#n462'>462</a></p>
-<p id='n463' class='pln'><a href='#n463'>463</a></p>
-<p id='n464' class='stm run hide_run'><a href='#n464'>464</a></p>
-<p id='n465' class='stm run hide_run'><a href='#n465'>465</a></p>
-<p id='n466' class='pln'><a href='#n466'>466</a></p>
-<p id='n467' class='stm run hide_run'><a href='#n467'>467</a></p>
-<p id='n468' class='pln'><a href='#n468'>468</a></p>
-<p id='n469' class='stm run hide_run'><a href='#n469'>469</a></p>
-<p id='n470' class='pln'><a href='#n470'>470</a></p>
-<p id='n471' class='stm run hide_run'><a href='#n471'>471</a></p>
-<p id='n472' class='pln'><a href='#n472'>472</a></p>
-<p id='n473' class='stm run hide_run'><a href='#n473'>473</a></p>
-<p id='n474' class='stm run hide_run'><a href='#n474'>474</a></p>
-<p id='n475' class='pln'><a href='#n475'>475</a></p>
-<p id='n476' class='stm run hide_run'><a href='#n476'>476</a></p>
-<p id='n477' class='pln'><a href='#n477'>477</a></p>
-<p id='n478' class='stm run hide_run'><a href='#n478'>478</a></p>
-<p id='n479' class='stm run hide_run'><a href='#n479'>479</a></p>
-<p id='n480' class='pln'><a href='#n480'>480</a></p>
-<p id='n481' class='stm run hide_run'><a href='#n481'>481</a></p>
-<p id='n482' class='pln'><a href='#n482'>482</a></p>
-<p id='n483' class='pln'><a href='#n483'>483</a></p>
-<p id='n484' class='pln'><a href='#n484'>484</a></p>
-<p id='n485' class='pln'><a href='#n485'>485</a></p>
-<p id='n486' class='stm run hide_run'><a href='#n486'>486</a></p>
-<p id='n487' class='stm run hide_run'><a href='#n487'>487</a></p>
-<p id='n488' class='pln'><a href='#n488'>488</a></p>
-<p id='n489' class='stm run hide_run'><a href='#n489'>489</a></p>
-<p id='n490' class='stm run hide_run'><a href='#n490'>490</a></p>
-<p id='n491' class='pln'><a href='#n491'>491</a></p>
-<p id='n492' class='stm run hide_run'><a href='#n492'>492</a></p>
-<p id='n493' class='stm run hide_run'><a href='#n493'>493</a></p>
-<p id='n494' class='stm mis'><a href='#n494'>494</a></p>
-<p id='n495' class='pln'><a href='#n495'>495</a></p>
-<p id='n496' class='pln'><a href='#n496'>496</a></p>
-<p id='n497' class='pln'><a href='#n497'>497</a></p>
-<p id='n498' class='stm run hide_run'><a href='#n498'>498</a></p>
-<p id='n499' class='stm run hide_run'><a href='#n499'>499</a></p>
-<p id='n500' class='pln'><a href='#n500'>500</a></p>
-<p id='n501' class='stm run hide_run'><a href='#n501'>501</a></p>
-<p id='n502' class='pln'><a href='#n502'>502</a></p>
-<p id='n503' class='stm run hide_run'><a href='#n503'>503</a></p>
-<p id='n504' class='pln'><a href='#n504'>504</a></p>
-<p id='n505' class='stm run hide_run'><a href='#n505'>505</a></p>
-<p id='n506' class='stm run hide_run'><a href='#n506'>506</a></p>
-<p id='n507' class='pln'><a href='#n507'>507</a></p>
-<p id='n508' class='stm run hide_run'><a href='#n508'>508</a></p>
-<p id='n509' class='stm run hide_run'><a href='#n509'>509</a></p>
-<p id='n510' class='pln'><a href='#n510'>510</a></p>
-<p id='n511' class='stm run hide_run'><a href='#n511'>511</a></p>
-<p id='n512' class='pln'><a href='#n512'>512</a></p>
-<p id='n513' class='pln'><a href='#n513'>513</a></p>
-<p id='n514' class='pln'><a href='#n514'>514</a></p>
-<p id='n515' class='stm run hide_run'><a href='#n515'>515</a></p>
-<p id='n516' class='stm run hide_run'><a href='#n516'>516</a></p>
-<p id='n517' class='pln'><a href='#n517'>517</a></p>
-<p id='n518' class='stm run hide_run'><a href='#n518'>518</a></p>
-<p id='n519' class='pln'><a href='#n519'>519</a></p>
-<p id='n520' class='stm run hide_run'><a href='#n520'>520</a></p>
-<p id='n521' class='stm run hide_run'><a href='#n521'>521</a></p>
-<p id='n522' class='pln'><a href='#n522'>522</a></p>
-<p id='n523' class='stm run hide_run'><a href='#n523'>523</a></p>
-<p id='n524' class='pln'><a href='#n524'>524</a></p>
-<p id='n525' class='stm run hide_run'><a href='#n525'>525</a></p>
-<p id='n526' class='pln'><a href='#n526'>526</a></p>
-<p id='n527' class='pln'><a href='#n527'>527</a></p>
-<p id='n528' class='pln'><a href='#n528'>528</a></p>
-<p id='n529' class='pln'><a href='#n529'>529</a></p>
-<p id='n530' class='pln'><a href='#n530'>530</a></p>
-<p id='n531' class='stm run hide_run'><a href='#n531'>531</a></p>
-<p id='n532' class='pln'><a href='#n532'>532</a></p>
-<p id='n533' class='pln'><a href='#n533'>533</a></p>
-<p id='n534' class='pln'><a href='#n534'>534</a></p>
-<p id='n535' class='pln'><a href='#n535'>535</a></p>
-<p id='n536' class='pln'><a href='#n536'>536</a></p>
-<p id='n537' class='stm run hide_run'><a href='#n537'>537</a></p>
-<p id='n538' class='stm run hide_run'><a href='#n538'>538</a></p>
-<p id='n539' class='pln'><a href='#n539'>539</a></p>
-<p id='n540' class='pln'><a href='#n540'>540</a></p>
-<p id='n541' class='stm run hide_run'><a href='#n541'>541</a></p>
-<p id='n542' class='pln'><a href='#n542'>542</a></p>
-<p id='n543' class='pln'><a href='#n543'>543</a></p>
-<p id='n544' class='pln'><a href='#n544'>544</a></p>
-<p id='n545' class='stm run hide_run'><a href='#n545'>545</a></p>
-<p id='n546' class='stm run hide_run'><a href='#n546'>546</a></p>
-<p id='n547' class='stm run hide_run'><a href='#n547'>547</a></p>
-<p id='n548' class='stm run hide_run'><a href='#n548'>548</a></p>
-<p id='n549' class='pln'><a href='#n549'>549</a></p>
-<p id='n550' class='pln'><a href='#n550'>550</a></p>
-<p id='n551' class='stm run hide_run'><a href='#n551'>551</a></p>
-<p id='n552' class='pln'><a href='#n552'>552</a></p>
-<p id='n553' class='pln'><a href='#n553'>553</a></p>
-<p id='n554' class='pln'><a href='#n554'>554</a></p>
-<p id='n555' class='stm run hide_run'><a href='#n555'>555</a></p>
-<p id='n556' class='pln'><a href='#n556'>556</a></p>
-<p id='n557' class='stm run hide_run'><a href='#n557'>557</a></p>
-<p id='n558' class='pln'><a href='#n558'>558</a></p>
-<p id='n559' class='pln'><a href='#n559'>559</a></p>
-<p id='n560' class='pln'><a href='#n560'>560</a></p>
-<p id='n561' class='pln'><a href='#n561'>561</a></p>
-<p id='n562' class='pln'><a href='#n562'>562</a></p>
-<p id='n563' class='pln'><a href='#n563'>563</a></p>
-<p id='n564' class='pln'><a href='#n564'>564</a></p>
-<p id='n565' class='pln'><a href='#n565'>565</a></p>
-<p id='n566' class='pln'><a href='#n566'>566</a></p>
-<p id='n567' class='pln'><a href='#n567'>567</a></p>
-<p id='n568' class='pln'><a href='#n568'>568</a></p>
-<p id='n569' class='pln'><a href='#n569'>569</a></p>
-<p id='n570' class='pln'><a href='#n570'>570</a></p>
-<p id='n571' class='pln'><a href='#n571'>571</a></p>
-<p id='n572' class='pln'><a href='#n572'>572</a></p>
-<p id='n573' class='pln'><a href='#n573'>573</a></p>
-<p id='n574' class='pln'><a href='#n574'>574</a></p>
-<p id='n575' class='pln'><a href='#n575'>575</a></p>
-<p id='n576' class='pln'><a href='#n576'>576</a></p>
-<p id='n577' class='pln'><a href='#n577'>577</a></p>
-<p id='n578' class='pln'><a href='#n578'>578</a></p>
-<p id='n579' class='stm run hide_run'><a href='#n579'>579</a></p>
-<p id='n580' class='pln'><a href='#n580'>580</a></p>
-<p id='n581' class='pln'><a href='#n581'>581</a></p>
-<p id='n582' class='pln'><a href='#n582'>582</a></p>
-<p id='n583' class='pln'><a href='#n583'>583</a></p>
-<p id='n584' class='stm run hide_run'><a href='#n584'>584</a></p>
-<p id='n585' class='stm run hide_run'><a href='#n585'>585</a></p>
-<p id='n586' class='pln'><a href='#n586'>586</a></p>
-<p id='n587' class='stm run hide_run'><a href='#n587'>587</a></p>
-<p id='n588' class='stm run hide_run'><a href='#n588'>588</a></p>
-<p id='n589' class='stm run hide_run'><a href='#n589'>589</a></p>
-<p id='n590' class='pln'><a href='#n590'>590</a></p>
-<p id='n591' class='pln'><a href='#n591'>591</a></p>
-<p id='n592' class='stm run hide_run'><a href='#n592'>592</a></p>
-<p id='n593' class='stm run hide_run'><a href='#n593'>593</a></p>
-<p id='n594' class='pln'><a href='#n594'>594</a></p>
-<p id='n595' class='stm run hide_run'><a href='#n595'>595</a></p>
-<p id='n596' class='pln'><a href='#n596'>596</a></p>
-<p id='n597' class='stm run hide_run'><a href='#n597'>597</a></p>
-<p id='n598' class='stm run hide_run'><a href='#n598'>598</a></p>
-<p id='n599' class='stm run hide_run'><a href='#n599'>599</a></p>
-<p id='n600' class='pln'><a href='#n600'>600</a></p>
-<p id='n601' class='pln'><a href='#n601'>601</a></p>
-<p id='n602' class='stm run hide_run'><a href='#n602'>602</a></p>
-<p id='n603' class='stm run hide_run'><a href='#n603'>603</a></p>
-<p id='n604' class='pln'><a href='#n604'>604</a></p>
-<p id='n605' class='stm run hide_run'><a href='#n605'>605</a></p>
-<p id='n606' class='stm run hide_run'><a href='#n606'>606</a></p>
-<p id='n607' class='pln'><a href='#n607'>607</a></p>
-<p id='n608' class='stm run hide_run'><a href='#n608'>608</a></p>
-<p id='n609' class='stm run hide_run'><a href='#n609'>609</a></p>
-<p id='n610' class='pln'><a href='#n610'>610</a></p>
-<p id='n611' class='stm run hide_run'><a href='#n611'>611</a></p>
-<p id='n612' class='pln'><a href='#n612'>612</a></p>
-<p id='n613' class='stm run hide_run'><a href='#n613'>613</a></p>
-<p id='n614' class='stm run hide_run'><a href='#n614'>614</a></p>
-<p id='n615' class='pln'><a href='#n615'>615</a></p>
-<p id='n616' class='stm run hide_run'><a href='#n616'>616</a></p>
-<p id='n617' class='stm run hide_run'><a href='#n617'>617</a></p>
-<p id='n618' class='stm mis'><a href='#n618'>618</a></p>
-<p id='n619' class='pln'><a href='#n619'>619</a></p>
-<p id='n620' class='pln'><a href='#n620'>620</a></p>
-<p id='n621' class='pln'><a href='#n621'>621</a></p>
-<p id='n622' class='pln'><a href='#n622'>622</a></p>
-<p id='n623' class='pln'><a href='#n623'>623</a></p>
-<p id='n624' class='pln'><a href='#n624'>624</a></p>
-<p id='n625' class='stm mis'><a href='#n625'>625</a></p>
-<p id='n626' class='pln'><a href='#n626'>626</a></p>
-<p id='n627' class='stm run hide_run'><a href='#n627'>627</a></p>
-<p id='n628' class='stm run hide_run'><a href='#n628'>628</a></p>
-<p id='n629' class='stm run hide_run'><a href='#n629'>629</a></p>
-<p id='n630' class='stm mis'><a href='#n630'>630</a></p>
-<p id='n631' class='pln'><a href='#n631'>631</a></p>
-<p id='n632' class='pln'><a href='#n632'>632</a></p>
-<p id='n633' class='pln'><a href='#n633'>633</a></p>
-<p id='n634' class='pln'><a href='#n634'>634</a></p>
-<p id='n635' class='pln'><a href='#n635'>635</a></p>
-<p id='n636' class='pln'><a href='#n636'>636</a></p>
-<p id='n637' class='stm mis'><a href='#n637'>637</a></p>
-<p id='n638' class='pln'><a href='#n638'>638</a></p>
-<p id='n639' class='stm run hide_run'><a href='#n639'>639</a></p>
-<p id='n640' class='pln'><a href='#n640'>640</a></p>
-<p id='n641' class='stm run hide_run'><a href='#n641'>641</a></p>
-<p id='n642' class='pln'><a href='#n642'>642</a></p>
-<p id='n643' class='stm run hide_run'><a href='#n643'>643</a></p>
-<p id='n644' class='stm run hide_run'><a href='#n644'>644</a></p>
-<p id='n645' class='stm run hide_run'><a href='#n645'>645</a></p>
-<p id='n646' class='pln'><a href='#n646'>646</a></p>
-<p id='n647' class='stm run hide_run'><a href='#n647'>647</a></p>
-<p id='n648' class='pln'><a href='#n648'>648</a></p>
-<p id='n649' class='pln'><a href='#n649'>649</a></p>
-<p id='n650' class='stm run hide_run'><a href='#n650'>650</a></p>
-<p id='n651' class='stm run hide_run'><a href='#n651'>651</a></p>
-<p id='n652' class='pln'><a href='#n652'>652</a></p>
-<p id='n653' class='pln'><a href='#n653'>653</a></p>
-<p id='n654' class='pln'><a href='#n654'>654</a></p>
-<p id='n655' class='stm run hide_run'><a href='#n655'>655</a></p>
-<p id='n656' class='stm run hide_run'><a href='#n656'>656</a></p>
-<p id='n657' class='pln'><a href='#n657'>657</a></p>
-<p id='n658' class='stm run hide_run'><a href='#n658'>658</a></p>
-<p id='n659' class='stm run hide_run'><a href='#n659'>659</a></p>
-<p id='n660' class='stm run hide_run'><a href='#n660'>660</a></p>
-<p id='n661' class='stm run hide_run'><a href='#n661'>661</a></p>
-<p id='n662' class='stm run hide_run'><a href='#n662'>662</a></p>
-<p id='n663' class='stm run hide_run'><a href='#n663'>663</a></p>
-<p id='n664' class='stm run hide_run'><a href='#n664'>664</a></p>
-<p id='n665' class='stm run hide_run'><a href='#n665'>665</a></p>
-<p id='n666' class='pln'><a href='#n666'>666</a></p>
-<p id='n667' class='pln'><a href='#n667'>667</a></p>
-<p id='n668' class='stm run hide_run'><a href='#n668'>668</a></p>
-<p id='n669' class='stm run hide_run'><a href='#n669'>669</a></p>
-<p id='n670' class='pln'><a href='#n670'>670</a></p>
-<p id='n671' class='stm run hide_run'><a href='#n671'>671</a></p>
-<p id='n672' class='stm run hide_run'><a href='#n672'>672</a></p>
-<p id='n673' class='pln'><a href='#n673'>673</a></p>
-<p id='n674' class='stm run hide_run'><a href='#n674'>674</a></p>
-<p id='n675' class='pln'><a href='#n675'>675</a></p>
-<p id='n676' class='stm run hide_run'><a href='#n676'>676</a></p>
-<p id='n677' class='stm run hide_run'><a href='#n677'>677</a></p>
-<p id='n678' class='stm run hide_run'><a href='#n678'>678</a></p>
-<p id='n679' class='pln'><a href='#n679'>679</a></p>
-<p id='n680' class='stm run hide_run'><a href='#n680'>680</a></p>
-<p id='n681' class='pln'><a href='#n681'>681</a></p>
-<p id='n682' class='pln'><a href='#n682'>682</a></p>
-<p id='n683' class='pln'><a href='#n683'>683</a></p>
-<p id='n684' class='stm run hide_run'><a href='#n684'>684</a></p>
-<p id='n685' class='stm run hide_run'><a href='#n685'>685</a></p>
-<p id='n686' class='pln'><a href='#n686'>686</a></p>
-<p id='n687' class='pln'><a href='#n687'>687</a></p>
-<p id='n688' class='pln'><a href='#n688'>688</a></p>
-<p id='n689' class='pln'><a href='#n689'>689</a></p>
-<p id='n690' class='stm run hide_run'><a href='#n690'>690</a></p>
-<p id='n691' class='pln'><a href='#n691'>691</a></p>
-<p id='n692' class='pln'><a href='#n692'>692</a></p>
-<p id='n693' class='pln'><a href='#n693'>693</a></p>
-<p id='n694' class='stm run hide_run'><a href='#n694'>694</a></p>
-<p id='n695' class='pln'><a href='#n695'>695</a></p>
-<p id='n696' class='stm run hide_run'><a href='#n696'>696</a></p>
-<p id='n697' class='pln'><a href='#n697'>697</a></p>
-<p id='n698' class='stm run hide_run'><a href='#n698'>698</a></p>
-<p id='n699' class='pln'><a href='#n699'>699</a></p>
-<p id='n700' class='pln'><a href='#n700'>700</a></p>
-<p id='n701' class='pln'><a href='#n701'>701</a></p>
-<p id='n702' class='stm run hide_run'><a href='#n702'>702</a></p>
-<p id='n703' class='pln'><a href='#n703'>703</a></p>
-<p id='n704' class='stm run hide_run'><a href='#n704'>704</a></p>
-<p id='n705' class='pln'><a href='#n705'>705</a></p>
-<p id='n706' class='pln'><a href='#n706'>706</a></p>
-<p id='n707' class='pln'><a href='#n707'>707</a></p>
-<p id='n708' class='pln'><a href='#n708'>708</a></p>
-<p id='n709' class='pln'><a href='#n709'>709</a></p>
-<p id='n710' class='stm run hide_run'><a href='#n710'>710</a></p>
-<p id='n711' class='stm run hide_run'><a href='#n711'>711</a></p>
-<p id='n712' class='stm run hide_run'><a href='#n712'>712</a></p>
-<p id='n713' class='stm run hide_run'><a href='#n713'>713</a></p>
-<p id='n714' class='pln'><a href='#n714'>714</a></p>
-<p id='n715' class='stm run hide_run'><a href='#n715'>715</a></p>
-<p id='n716' class='pln'><a href='#n716'>716</a></p>
-<p id='n717' class='stm run hide_run'><a href='#n717'>717</a></p>
-<p id='n718' class='pln'><a href='#n718'>718</a></p>
-<p id='n719' class='pln'><a href='#n719'>719</a></p>
-<p id='n720' class='pln'><a href='#n720'>720</a></p>
-<p id='n721' class='pln'><a href='#n721'>721</a></p>
-<p id='n722' class='pln'><a href='#n722'>722</a></p>
-<p id='n723' class='pln'><a href='#n723'>723</a></p>
-<p id='n724' class='pln'><a href='#n724'>724</a></p>
-<p id='n725' class='pln'><a href='#n725'>725</a></p>
-<p id='n726' class='stm run hide_run'><a href='#n726'>726</a></p>
-<p id='n727' class='pln'><a href='#n727'>727</a></p>
-<p id='n728' class='pln'><a href='#n728'>728</a></p>
-<p id='n729' class='pln'><a href='#n729'>729</a></p>
-<p id='n730' class='pln'><a href='#n730'>730</a></p>
-<p id='n731' class='stm run hide_run'><a href='#n731'>731</a></p>
-<p id='n732' class='stm run hide_run'><a href='#n732'>732</a></p>
-<p id='n733' class='pln'><a href='#n733'>733</a></p>
-<p id='n734' class='stm run hide_run'><a href='#n734'>734</a></p>
-<p id='n735' class='pln'><a href='#n735'>735</a></p>
-<p id='n736' class='stm run hide_run'><a href='#n736'>736</a></p>
-<p id='n737' class='pln'><a href='#n737'>737</a></p>
-<p id='n738' class='pln'><a href='#n738'>738</a></p>
-<p id='n739' class='pln'><a href='#n739'>739</a></p>
-<p id='n740' class='stm run hide_run'><a href='#n740'>740</a></p>
-<p id='n741' class='pln'><a href='#n741'>741</a></p>
-<p id='n742' class='stm run hide_run'><a href='#n742'>742</a></p>
-<p id='n743' class='stm run hide_run'><a href='#n743'>743</a></p>
-<p id='n744' class='pln'><a href='#n744'>744</a></p>
-<p id='n745' class='stm run hide_run'><a href='#n745'>745</a></p>
-<p id='n746' class='stm run hide_run'><a href='#n746'>746</a></p>
-<p id='n747' class='pln'><a href='#n747'>747</a></p>
-<p id='n748' class='stm run hide_run'><a href='#n748'>748</a></p>
-<p id='n749' class='stm run hide_run'><a href='#n749'>749</a></p>
-<p id='n750' class='pln'><a href='#n750'>750</a></p>
-<p id='n751' class='stm run hide_run'><a href='#n751'>751</a></p>
-<p id='n752' class='stm run hide_run'><a href='#n752'>752</a></p>
-<p id='n753' class='pln'><a href='#n753'>753</a></p>
-<p id='n754' class='stm run hide_run'><a href='#n754'>754</a></p>
-<p id='n755' class='stm run hide_run'><a href='#n755'>755</a></p>
-<p id='n756' class='pln'><a href='#n756'>756</a></p>
-<p id='n757' class='stm run hide_run'><a href='#n757'>757</a></p>
-<p id='n758' class='stm run hide_run'><a href='#n758'>758</a></p>
-<p id='n759' class='pln'><a href='#n759'>759</a></p>
-<p id='n760' class='pln'><a href='#n760'>760</a></p>
-<p id='n761' class='stm run hide_run'><a href='#n761'>761</a></p>
-<p id='n762' class='stm run hide_run'><a href='#n762'>762</a></p>
-<p id='n763' class='stm run hide_run'><a href='#n763'>763</a></p>
-<p id='n764' class='pln'><a href='#n764'>764</a></p>
-<p id='n765' class='pln'><a href='#n765'>765</a></p>
-<p id='n766' class='stm run hide_run'><a href='#n766'>766</a></p>
-<p id='n767' class='pln'><a href='#n767'>767</a></p>
-<p id='n768' class='stm run hide_run'><a href='#n768'>768</a></p>
-<p id='n769' class='pln'><a href='#n769'>769</a></p>
-<p id='n770' class='stm run hide_run'><a href='#n770'>770</a></p>
-<p id='n771' class='pln'><a href='#n771'>771</a></p>
-<p id='n772' class='pln'><a href='#n772'>772</a></p>
-<p id='n773' class='pln'><a href='#n773'>773</a></p>
-<p id='n774' class='pln'><a href='#n774'>774</a></p>
-<p id='n775' class='pln'><a href='#n775'>775</a></p>
-<p id='n776' class='pln'><a href='#n776'>776</a></p>
-<p id='n777' class='pln'><a href='#n777'>777</a></p>
-<p id='n778' class='pln'><a href='#n778'>778</a></p>
-<p id='n779' class='pln'><a href='#n779'>779</a></p>
-<p id='n780' class='pln'><a href='#n780'>780</a></p>
-<p id='n781' class='stm run hide_run'><a href='#n781'>781</a></p>
-<p id='n782' class='stm run hide_run'><a href='#n782'>782</a></p>
-<p id='n783' class='stm run hide_run'><a href='#n783'>783</a></p>
-<p id='n784' class='stm run hide_run'><a href='#n784'>784</a></p>
-<p id='n785' class='pln'><a href='#n785'>785</a></p>
-<p id='n786' class='stm run hide_run'><a href='#n786'>786</a></p>
-<p id='n787' class='stm run hide_run'><a href='#n787'>787</a></p>
-<p id='n788' class='stm run hide_run'><a href='#n788'>788</a></p>
-<p id='n789' class='stm run hide_run'><a href='#n789'>789</a></p>
-<p id='n790' class='pln'><a href='#n790'>790</a></p>
-<p id='n791' class='stm run hide_run'><a href='#n791'>791</a></p>
-<p id='n792' class='pln'><a href='#n792'>792</a></p>
-<p id='n793' class='pln'><a href='#n793'>793</a></p>
-<p id='n794' class='pln'><a href='#n794'>794</a></p>
-<p id='n795' class='stm run hide_run'><a href='#n795'>795</a></p>
-<p id='n796' class='stm run hide_run'><a href='#n796'>796</a></p>
-<p id='n797' class='stm run hide_run'><a href='#n797'>797</a></p>
-<p id='n798' class='stm run hide_run'><a href='#n798'>798</a></p>
-<p id='n799' class='stm run hide_run'><a href='#n799'>799</a></p>
-<p id='n800' class='stm run hide_run'><a href='#n800'>800</a></p>
-<p id='n801' class='stm run hide_run'><a href='#n801'>801</a></p>
-<p id='n802' class='stm run hide_run'><a href='#n802'>802</a></p>
-<p id='n803' class='pln'><a href='#n803'>803</a></p>
-<p id='n804' class='stm run hide_run'><a href='#n804'>804</a></p>
-<p id='n805' class='pln'><a href='#n805'>805</a></p>
-<p id='n806' class='pln'><a href='#n806'>806</a></p>
-<p id='n807' class='pln'><a href='#n807'>807</a></p>
-<p id='n808' class='pln'><a href='#n808'>808</a></p>
-<p id='n809' class='pln'><a href='#n809'>809</a></p>
-<p id='n810' class='pln'><a href='#n810'>810</a></p>
-<p id='n811' class='pln'><a href='#n811'>811</a></p>
-<p id='n812' class='pln'><a href='#n812'>812</a></p>
-<p id='n813' class='stm run hide_run'><a href='#n813'>813</a></p>
-<p id='n814' class='stm run hide_run'><a href='#n814'>814</a></p>
-<p id='n815' class='stm run hide_run'><a href='#n815'>815</a></p>
-<p id='n816' class='stm run hide_run'><a href='#n816'>816</a></p>
-<p id='n817' class='stm run hide_run'><a href='#n817'>817</a></p>
-<p id='n818' class='stm run hide_run'><a href='#n818'>818</a></p>
-<p id='n819' class='pln'><a href='#n819'>819</a></p>
-<p id='n820' class='stm run hide_run'><a href='#n820'>820</a></p>
-<p id='n821' class='pln'><a href='#n821'>821</a></p>
-<p id='n822' class='pln'><a href='#n822'>822</a></p>
-<p id='n823' class='pln'><a href='#n823'>823</a></p>
-<p id='n824' class='stm run hide_run'><a href='#n824'>824</a></p>
-<p id='n825' class='stm run hide_run'><a href='#n825'>825</a></p>
-<p id='n826' class='stm run hide_run'><a href='#n826'>826</a></p>
-<p id='n827' class='pln'><a href='#n827'>827</a></p>
-<p id='n828' class='pln'><a href='#n828'>828</a></p>
-<p id='n829' class='stm run hide_run'><a href='#n829'>829</a></p>
-<p id='n830' class='stm run hide_run'><a href='#n830'>830</a></p>
-<p id='n831' class='stm run hide_run'><a href='#n831'>831</a></p>
-<p id='n832' class='stm run hide_run'><a href='#n832'>832</a></p>
-<p id='n833' class='pln'><a href='#n833'>833</a></p>
-<p id='n834' class='pln'><a href='#n834'>834</a></p>
-<p id='n835' class='stm run hide_run'><a href='#n835'>835</a></p>
-<p id='n836' class='stm run hide_run'><a href='#n836'>836</a></p>
-<p id='n837' class='stm run hide_run'><a href='#n837'>837</a></p>
-<p id='n838' class='stm run hide_run'><a href='#n838'>838</a></p>
-<p id='n839' class='pln'><a href='#n839'>839</a></p>
-<p id='n840' class='pln'><a href='#n840'>840</a></p>
-<p id='n841' class='stm run hide_run'><a href='#n841'>841</a></p>
-<p id='n842' class='stm run hide_run'><a href='#n842'>842</a></p>
-<p id='n843' class='stm run hide_run'><a href='#n843'>843</a></p>
-<p id='n844' class='pln'><a href='#n844'>844</a></p>
-<p id='n845' class='pln'><a href='#n845'>845</a></p>
-<p id='n846' class='stm run hide_run'><a href='#n846'>846</a></p>
-<p id='n847' class='stm run hide_run'><a href='#n847'>847</a></p>
-<p id='n848' class='stm run hide_run'><a href='#n848'>848</a></p>
-<p id='n849' class='pln'><a href='#n849'>849</a></p>
-<p id='n850' class='pln'><a href='#n850'>850</a></p>
-<p id='n851' class='pln'><a href='#n851'>851</a></p>
-<p id='n852' class='stm run hide_run'><a href='#n852'>852</a></p>
-<p id='n853' class='pln'><a href='#n853'>853</a></p>
-<p id='n854' class='pln'><a href='#n854'>854</a></p>
-<p id='n855' class='pln'><a href='#n855'>855</a></p>
-<p id='n856' class='pln'><a href='#n856'>856</a></p>
-<p id='n857' class='pln'><a href='#n857'>857</a></p>
-<p id='n858' class='stm run hide_run'><a href='#n858'>858</a></p>
-<p id='n859' class='stm run hide_run'><a href='#n859'>859</a></p>
-<p id='n860' class='pln'><a href='#n860'>860</a></p>
-<p id='n861' class='stm run hide_run'><a href='#n861'>861</a></p>
-<p id='n862' class='pln'><a href='#n862'>862</a></p>
-<p id='n863' class='stm run hide_run'><a href='#n863'>863</a></p>
-<p id='n864' class='pln'><a href='#n864'>864</a></p>
-<p id='n865' class='pln'><a href='#n865'>865</a></p>
-<p id='n866' class='pln'><a href='#n866'>866</a></p>
-<p id='n867' class='stm run hide_run'><a href='#n867'>867</a></p>
-<p id='n868' class='stm run hide_run'><a href='#n868'>868</a></p>
-<p id='n869' class='stm run hide_run'><a href='#n869'>869</a></p>
-<p id='n870' class='pln'><a href='#n870'>870</a></p>
-<p id='n871' class='stm run hide_run'><a href='#n871'>871</a></p>
-<p id='n872' class='pln'><a href='#n872'>872</a></p>
-<p id='n873' class='pln'><a href='#n873'>873</a></p>
-<p id='n874' class='pln'><a href='#n874'>874</a></p>
-<p id='n875' class='stm run hide_run'><a href='#n875'>875</a></p>
-<p id='n876' class='pln'><a href='#n876'>876</a></p>
-<p id='n877' class='stm run hide_run'><a href='#n877'>877</a></p>
-<p id='n878' class='stm run hide_run'><a href='#n878'>878</a></p>
-<p id='n879' class='stm run hide_run'><a href='#n879'>879</a></p>
-<p id='n880' class='stm run hide_run'><a href='#n880'>880</a></p>
-<p id='n881' class='pln'><a href='#n881'>881</a></p>
-<p id='n882' class='stm run hide_run'><a href='#n882'>882</a></p>
-<p id='n883' class='stm run hide_run'><a href='#n883'>883</a></p>
-<p id='n884' class='stm run hide_run'><a href='#n884'>884</a></p>
-<p id='n885' class='stm run hide_run'><a href='#n885'>885</a></p>
-<p id='n886' class='pln'><a href='#n886'>886</a></p>
-<p id='n887' class='pln'><a href='#n887'>887</a></p>
-<p id='n888' class='stm run hide_run'><a href='#n888'>888</a></p>
-<p id='n889' class='pln'><a href='#n889'>889</a></p>
-<p id='n890' class='pln'><a href='#n890'>890</a></p>
-<p id='n891' class='pln'><a href='#n891'>891</a></p>
-<p id='n892' class='stm run hide_run'><a href='#n892'>892</a></p>
-<p id='n893' class='stm run hide_run'><a href='#n893'>893</a></p>
-<p id='n894' class='stm run hide_run'><a href='#n894'>894</a></p>
-<p id='n895' class='stm run hide_run'><a href='#n895'>895</a></p>
-<p id='n896' class='pln'><a href='#n896'>896</a></p>
-<p id='n897' class='pln'><a href='#n897'>897</a></p>
-<p id='n898' class='stm run hide_run'><a href='#n898'>898</a></p>
-<p id='n899' class='pln'><a href='#n899'>899</a></p>
-<p id='n900' class='pln'><a href='#n900'>900</a></p>
-<p id='n901' class='pln'><a href='#n901'>901</a></p>
-<p id='n902' class='pln'><a href='#n902'>902</a></p>
-<p id='n903' class='stm run hide_run'><a href='#n903'>903</a></p>
-<p id='n904' class='stm run hide_run'><a href='#n904'>904</a></p>
-<p id='n905' class='stm run hide_run'><a href='#n905'>905</a></p>
-<p id='n906' class='pln'><a href='#n906'>906</a></p>
-<p id='n907' class='stm run hide_run'><a href='#n907'>907</a></p>
-<p id='n908' class='stm run hide_run'><a href='#n908'>908</a></p>
-<p id='n909' class='pln'><a href='#n909'>909</a></p>
-<p id='n910' class='stm run hide_run'><a href='#n910'>910</a></p>
-<p id='n911' class='stm run hide_run'><a href='#n911'>911</a></p>
-<p id='n912' class='pln'><a href='#n912'>912</a></p>
-<p id='n913' class='stm run hide_run'><a href='#n913'>913</a></p>
-<p id='n914' class='stm run hide_run'><a href='#n914'>914</a></p>
-<p id='n915' class='pln'><a href='#n915'>915</a></p>
-<p id='n916' class='pln'><a href='#n916'>916</a></p>
-<p id='n917' class='pln'><a href='#n917'>917</a></p>
-<p id='n918' class='stm run hide_run'><a href='#n918'>918</a></p>
-<p id='n919' class='pln'><a href='#n919'>919</a></p>
-<p id='n920' class='stm run hide_run'><a href='#n920'>920</a></p>
-<p id='n921' class='pln'><a href='#n921'>921</a></p>
-<p id='n922' class='stm run hide_run'><a href='#n922'>922</a></p>
-<p id='n923' class='stm run hide_run'><a href='#n923'>923</a></p>
-<p id='n924' class='stm mis'><a href='#n924'>924</a></p>
-<p id='n925' class='pln'><a href='#n925'>925</a></p>
-<p id='n926' class='stm run hide_run'><a href='#n926'>926</a></p>
-<p id='n927' class='pln'><a href='#n927'>927</a></p>
-<p id='n928' class='pln'><a href='#n928'>928</a></p>
-<p id='n929' class='pln'><a href='#n929'>929</a></p>
-<p id='n930' class='pln'><a href='#n930'>930</a></p>
-<p id='n931' class='pln'><a href='#n931'>931</a></p>
-<p id='n932' class='stm run hide_run'><a href='#n932'>932</a></p>
-<p id='n933' class='pln'><a href='#n933'>933</a></p>
-<p id='n934' class='pln'><a href='#n934'>934</a></p>
-<p id='n935' class='pln'><a href='#n935'>935</a></p>
-<p id='n936' class='pln'><a href='#n936'>936</a></p>
-<p id='n937' class='pln'><a href='#n937'>937</a></p>
-<p id='n938' class='stm run hide_run'><a href='#n938'>938</a></p>
-<p id='n939' class='stm run hide_run'><a href='#n939'>939</a></p>
-<p id='n940' class='pln'><a href='#n940'>940</a></p>
-<p id='n941' class='stm run hide_run'><a href='#n941'>941</a></p>
-<p id='n942' class='stm mis'><a href='#n942'>942</a></p>
-<p id='n943' class='pln'><a href='#n943'>943</a></p>
-<p id='n944' class='stm run hide_run'><a href='#n944'>944</a></p>
-<p id='n945' class='pln'><a href='#n945'>945</a></p>
-<p id='n946' class='stm run hide_run'><a href='#n946'>946</a></p>
-<p id='n947' class='pln'><a href='#n947'>947</a></p>
-<p id='n948' class='pln'><a href='#n948'>948</a></p>
-<p id='n949' class='pln'><a href='#n949'>949</a></p>
-<p id='n950' class='pln'><a href='#n950'>950</a></p>
-<p id='n951' class='stm mis'><a href='#n951'>951</a></p>
-<p id='n952' class='stm mis'><a href='#n952'>952</a></p>
-<p id='n953' class='stm mis'><a href='#n953'>953</a></p>
-<p id='n954' class='stm mis'><a href='#n954'>954</a></p>
-<p id='n955' class='pln'><a href='#n955'>955</a></p>
-<p id='n956' class='stm run hide_run'><a href='#n956'>956</a></p>
-<p id='n957' class='pln'><a href='#n957'>957</a></p>
-<p id='n958' class='pln'><a href='#n958'>958</a></p>
-<p id='n959' class='pln'><a href='#n959'>959</a></p>
-<p id='n960' class='stm run hide_run'><a href='#n960'>960</a></p>
-<p id='n961' class='stm run hide_run'><a href='#n961'>961</a></p>
-<p id='n962' class='pln'><a href='#n962'>962</a></p>
-<p id='n963' class='pln'><a href='#n963'>963</a></p>
-<p id='n964' class='pln'><a href='#n964'>964</a></p>
-<p id='n965' class='stm run hide_run'><a href='#n965'>965</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Serializers and ModelSerializers are similar to Forms and ModelForms.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>Unlike forms, they are not constrained to dealing with HTML output, and</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>form encoded input.</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='str'>Serialization in REST framework is a two-phase process:</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='str'>1. Serializers marshal between complex types like model instances, and</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='pln'><span class='str'>python primatives.</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='str'>2. The process of marshalling between python primatives and request and</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='str'>response content is handled by parsers and renderers.</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>copy</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>datetime</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>types</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>decimal</span> <span class='key'>import</span> <span class='nam'>Decimal</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>paginator</span> <span class='key'>import</span> <span class='nam'>Page</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>db</span> <span class='key'>import</span> <span class='nam'>models</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>forms</span> <span class='key'>import</span> <span class='nam'>widgets</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>datastructures</span> <span class='key'>import</span> <span class='nam'>SortedDict</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>get_concrete_model</span><span class='op'>,</span> <span class='nam'>six</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='com'># Note: We do the following so that users of the framework can use this style:</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='com'>#</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'><span class='com'>#&nbsp; &nbsp;&nbsp; example_field = serializers.CharField(...)</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='com'>#</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='com'># This helps keep the separation between model fields, form fields, and</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'><span class='com'># serializer fields more explicit.</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>relations</span> <span class='key'>import</span> <span class='op'>*</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>fields</span> <span class='key'>import</span> <span class='op'>*</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>NestedValidationError</span><span class='op'>(</span><span class='nam'>ValidationError</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='str'>&nbsp; &nbsp; The default ValidationError behavior is to stringify each item in the list</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='str'>&nbsp; &nbsp; if the messages are a list of error messages.</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'><span class='str'>&nbsp; &nbsp; In the case of nested serializers, where the parent has many children,</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'><span class='str'>&nbsp; &nbsp; then the child&#39;s `serializer.errors` will be a list of dicts.&nbsp; In the case</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='str'>&nbsp; &nbsp; of a single child, the `serializer.errors` will be a dict.</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'><span class='str'>&nbsp; &nbsp; We need to override the default behavior to get properly nested error dicts.</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>message</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>message</span><span class='op'>,</span> <span class='nam'>dict</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>messages</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>message</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>messages</span> <span class='op'>=</span> <span class='nam'>message</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>DictWithMetadata</span><span class='op'>(</span><span class='nam'>dict</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'><span class='str'>&nbsp; &nbsp; A dict-like object, that can have additional properties attached.</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__getstate__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Used by pickle (e.g., caching).</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Overridden to remove the metadata from the dict, since it shouldn&#39;t be</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; pickled and may in some instances be unpickleable.</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>dict</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>SortedDictWithMetadata</span><span class='op'>(</span><span class='nam'>SortedDict</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'><span class='str'>&nbsp; &nbsp; A sorted dict-like object, that can have additional properties attached.</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__getstate__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Used by pickle (e.g., caching).</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Overriden to remove the metadata from the dict, since it shouldn&#39;t be</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; pickle and may in some instances be unpickleable.</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>SortedDict</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__dict__</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>_is_protected_type</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'><span class='str'>&nbsp; &nbsp; True if the object is a native datatype that does not need to</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'><span class='str'>&nbsp; &nbsp; be serialized further.</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='stm mis'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>types</span><span class='op'>.</span><span class='nam'>NoneType</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>int</span><span class='op'>,</span> <span class='nam'>long</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>datetime</span><span class='op'>,</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>date</span><span class='op'>,</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>time</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>float</span><span class='op'>,</span> <span class='nam'>Decimal</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>basestring</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='pln'>&nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>_get_declared_fields</span><span class='op'>(</span><span class='nam'>bases</span><span class='op'>,</span> <span class='nam'>attrs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='pln'><span class='str'>&nbsp; &nbsp; Create a list of serializer field instances from the passed in &#39;attrs&#39;,</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'><span class='str'>&nbsp; &nbsp; plus any fields on the base classes (in &#39;bases&#39;).</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='pln'><span class='str'>&nbsp; &nbsp; Note that all fields from the base classes are used.</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>fields</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>(</span><span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>attrs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='nam'>field_name</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>obj</span> <span class='key'>in</span> <span class='nam'>list</span><span class='op'>(</span><span class='nam'>six</span><span class='op'>.</span><span class='nam'>iteritems</span><span class='op'>(</span><span class='nam'>attrs</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>Field</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>fields</span><span class='op'>.</span><span class='nam'>sort</span><span class='op'>(</span><span class='nam'>key</span><span class='op'>=</span><span class='key'>lambda</span> <span class='nam'>x</span><span class='op'>:</span> <span class='nam'>x</span><span class='op'>[</span><span class='num'>1</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>creation_counter</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='pln'>&nbsp; &nbsp; <span class='com'># If this class is subclassing another Serializer, add that Serializer&#39;s</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='pln'>&nbsp; &nbsp; <span class='com'># fields.&nbsp; Note that we loop over the bases in *reverse*. This is necessary</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='pln'>&nbsp; &nbsp; <span class='com'># in order to maintain the correct order of fields.</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>base</span> <span class='key'>in</span> <span class='nam'>bases</span><span class='op'>[</span><span class='op'>:</span><span class='op'>:</span><span class='op'>-</span><span class='num'>1</span><span class='op'>]</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>base</span><span class='op'>,</span> <span class='str'>&#39;base_fields&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fields</span> <span class='op'>=</span> <span class='nam'>list</span><span class='op'>(</span><span class='nam'>base</span><span class='op'>.</span><span class='nam'>base_fields</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span> <span class='op'>+</span> <span class='nam'>fields</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>SortedDict</span><span class='op'>(</span><span class='nam'>fields</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>SerializerMetaclass</span><span class='op'>(</span><span class='nam'>type</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__new__</span><span class='op'>(</span><span class='nam'>cls</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>,</span> <span class='nam'>bases</span><span class='op'>,</span> <span class='nam'>attrs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>attrs</span><span class='op'>[</span><span class='str'>&#39;base_fields&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>_get_declared_fields</span><span class='op'>(</span><span class='nam'>bases</span><span class='op'>,</span> <span class='nam'>attrs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>SerializerMetaclass</span><span class='op'>,</span> <span class='nam'>cls</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__new__</span><span class='op'>(</span><span class='nam'>cls</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>,</span> <span class='nam'>bases</span><span class='op'>,</span> <span class='nam'>attrs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>SerializerOptions</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='pln'><span class='str'>&nbsp; &nbsp; Meta class options for Serializer</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>meta</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>depth</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>,</span> <span class='str'>&#39;depth&#39;</span><span class='op'>,</span> <span class='num'>0</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>fields</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>,</span> <span class='str'>&#39;fields&#39;</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>exclude</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>,</span> <span class='str'>&#39;exclude&#39;</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BaseSerializer</span><span class='op'>(</span><span class='nam'>WritableField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='pln'><span class='str'>&nbsp; &nbsp; This is the Serializer implementation.</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='pln'><span class='str'>&nbsp; &nbsp; We need to implement it as `BaseSerializer` due to metaclass magicks.</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>Meta</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>_options_class</span> <span class='op'>=</span> <span class='nam'>SerializerOptions</span><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>_dict_class</span> <span class='op'>=</span> <span class='nam'>SortedDictWithMetadata</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>instance</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>context</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>partial</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>,</span> <span class='nam'>many</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>allow_add_remove</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>BaseSerializer</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_options_class</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>Meta</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parent</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>root</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>partial</span> <span class='op'>=</span> <span class='nam'>partial</span><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span> <span class='op'>=</span> <span class='nam'>many</span><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>allow_add_remove</span> <span class='op'>=</span> <span class='nam'>allow_add_remove</span><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>context</span> <span class='op'>=</span> <span class='nam'>context</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>init_data</span> <span class='op'>=</span> <span class='nam'>data</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>init_files</span> <span class='op'>=</span> <span class='nam'>files</span><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span> <span class='op'>=</span> <span class='nam'>instance</span><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>fields</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_fields</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_files</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_deleted</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>many</span> <span class='key'>and</span> <span class='nam'>instance</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>instance</span><span class='op'>,</span> <span class='str'>&#39;__iter__&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValueError</span><span class='op'>(</span><span class='str'>&#39;instance should be a queryset or other iterable with many=True&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>allow_add_remove</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>many</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValueError</span><span class='op'>(</span><span class='str'>&#39;allow_add_remove should only be used for bulk updates, but you have not set many=True&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='pln'>&nbsp; &nbsp; <span class='com'>#####</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='pln'>&nbsp; &nbsp; <span class='com'># Methods to determine which fields to use when (de)serializing objects.</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_default_fields</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return the complete set of default fields for the object, as a dict.</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_fields</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns the complete set of fields for the object as a dict.</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This will be the set of any explicitly declared fields,</span><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; plus the set of fields returned by get_default_fields().</span><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>SortedDict</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Get the explicitly declared fields</span><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>base_fields</span> <span class='op'>=</span> <span class='nam'>copy</span><span class='op'>.</span><span class='nam'>deepcopy</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>base_fields</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span><span class='op'>,</span> <span class='nam'>field</span> <span class='key'>in</span> <span class='nam'>base_fields</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t193' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='nam'>key</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>field</span><span class='strut'>&nbsp;</span></p>
-<p id='t194' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t195' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Add in the default fields</span><span class='strut'>&nbsp;</span></p>
-<p id='t196' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>default_fields</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_default_fields</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t197' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span><span class='op'>,</span> <span class='nam'>val</span> <span class='key'>in</span> <span class='nam'>default_fields</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t198' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>key</span> <span class='key'>not</span> <span class='key'>in</span> <span class='nam'>ret</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t199' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='nam'>key</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>val</span><span class='strut'>&nbsp;</span></p>
-<p id='t200' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t201' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If &#39;fields&#39; is specified, use those fields, in that order.</span><span class='strut'>&nbsp;</span></p>
-<p id='t202' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t203' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>list</span><span class='op'>,</span> <span class='nam'>tuple</span><span class='op'>)</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;`fields` must be a list or tuple&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t204' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>new</span> <span class='op'>=</span> <span class='nam'>SortedDict</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t205' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t206' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>new</span><span class='op'>[</span><span class='nam'>key</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>ret</span><span class='op'>[</span><span class='nam'>key</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t207' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>new</span><span class='strut'>&nbsp;</span></p>
-<p id='t208' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t209' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Remove anything in &#39;exclude&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t210' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>exclude</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t211' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>exclude</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>list</span><span class='op'>,</span> <span class='nam'>tuple</span><span class='op'>)</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;`exclude` must be a list or tuple&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t212' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>exclude</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t213' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='nam'>key</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t214' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t215' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span><span class='op'>,</span> <span class='nam'>field</span> <span class='key'>in</span> <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t216' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span><span class='op'>.</span><span class='nam'>initialize</span><span class='op'>(</span><span class='nam'>parent</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>=</span><span class='nam'>key</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t217' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t218' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t219' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t220' class='pln'>&nbsp; &nbsp; <span class='com'>#####</span><span class='strut'>&nbsp;</span></p>
-<p id='t221' class='pln'>&nbsp; &nbsp; <span class='com'># Methods to convert or revert from objects &lt;--&gt; primitive representations.</span><span class='strut'>&nbsp;</span></p>
-<p id='t222' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t223' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_field_key</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t224' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t225' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return the key that should be used for a given field.</span><span class='strut'>&nbsp;</span></p>
-<p id='t226' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t227' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>field_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t228' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t229' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>restore_fields</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t230' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t231' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Core of deserialization, together with `restore_object`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t232' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Converts a dictionary of data into a dictionary of deserialized fields.</span><span class='strut'>&nbsp;</span></p>
-<p id='t233' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t234' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>reverted_data</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t235' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t236' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>data</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>dict</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t237' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>[</span><span class='str'>&#39;non_field_errors&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;Invalid data&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t238' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t239' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t240' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>field</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t241' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span><span class='op'>.</span><span class='nam'>initialize</span><span class='op'>(</span><span class='nam'>parent</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>=</span><span class='nam'>field_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t242' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t243' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span><span class='op'>.</span><span class='nam'>field_from_native</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>reverted_data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t244' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ValidationError</span> <span class='key'>as</span> <span class='nam'>err</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t245' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>[</span><span class='nam'>field_name</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>list</span><span class='op'>(</span><span class='nam'>err</span><span class='op'>.</span><span class='nam'>messages</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t246' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t247' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>reverted_data</span><span class='strut'>&nbsp;</span></p>
-<p id='t248' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t249' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>perform_validation</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>attrs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t250' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t251' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Run `validate_&lt;fieldname&gt;()` and `validate()` methods on the serializer</span><span class='strut'>&nbsp;</span></p>
-<p id='t252' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t253' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>field</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t254' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>field_name</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t255' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>continue</span><span class='strut'>&nbsp;</span></p>
-<p id='t256' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t257' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>validate_method</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;validate_%s&#39;</span> <span class='op'>%</span> <span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t258' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>validate_method</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t259' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>source</span> <span class='op'>=</span> <span class='nam'>field</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t260' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>attrs</span> <span class='op'>=</span> <span class='nam'>validate_method</span><span class='op'>(</span><span class='nam'>attrs</span><span class='op'>,</span> <span class='nam'>source</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t261' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ValidationError</span> <span class='key'>as</span> <span class='nam'>err</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t262' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>[</span><span class='nam'>field_name</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>field_name</span><span class='op'>,</span> <span class='op'>[</span><span class='op'>]</span><span class='op'>)</span> <span class='op'>+</span> <span class='nam'>list</span><span class='op'>(</span><span class='nam'>err</span><span class='op'>.</span><span class='nam'>messages</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t263' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t264' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If there are already errors, we don&#39;t run .validate() because</span><span class='strut'>&nbsp;</span></p>
-<p id='t265' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># field-validation failed and thus `attrs` may not be complete.</span><span class='strut'>&nbsp;</span></p>
-<p id='t266' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># which in turn can cause inconsistent validation errors.</span><span class='strut'>&nbsp;</span></p>
-<p id='t267' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t268' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t269' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>attrs</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validate</span><span class='op'>(</span><span class='nam'>attrs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t270' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ValidationError</span> <span class='key'>as</span> <span class='nam'>err</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t271' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>err</span><span class='op'>,</span> <span class='str'>&#39;message_dict&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t272' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>error_messages</span> <span class='key'>in</span> <span class='nam'>err</span><span class='op'>.</span><span class='nam'>message_dict</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t273' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>[</span><span class='nam'>field_name</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>field_name</span><span class='op'>,</span> <span class='op'>[</span><span class='op'>]</span><span class='op'>)</span> <span class='op'>+</span> <span class='nam'>list</span><span class='op'>(</span><span class='nam'>error_messages</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t274' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>err</span><span class='op'>,</span> <span class='str'>&#39;messages&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t275' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>[</span><span class='str'>&#39;non_field_errors&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>err</span><span class='op'>.</span><span class='nam'>messages</span><span class='strut'>&nbsp;</span></p>
-<p id='t276' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t277' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>attrs</span><span class='strut'>&nbsp;</span></p>
-<p id='t278' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t279' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>validate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>attrs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t280' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t281' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Stub method, to be overridden in Serializer subclasses</span><span class='strut'>&nbsp;</span></p>
-<p id='t282' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t283' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>attrs</span><span class='strut'>&nbsp;</span></p>
-<p id='t284' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t285' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>restore_object</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>attrs</span><span class='op'>,</span> <span class='nam'>instance</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t286' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t287' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Deserialize a dictionary of attributes into an object instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t288' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; You should override this method to control how deserialized objects</span><span class='strut'>&nbsp;</span></p>
-<p id='t289' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; are instantiated.</span><span class='strut'>&nbsp;</span></p>
-<p id='t290' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t291' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>instance</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t292' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>instance</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='nam'>attrs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t293' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>instance</span><span class='strut'>&nbsp;</span></p>
-<p id='t294' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>attrs</span><span class='strut'>&nbsp;</span></p>
-<p id='t295' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t296' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t297' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t298' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Serialize objects -&gt; primitives.</span><span class='strut'>&nbsp;</span></p>
-<p id='t299' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t300' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_dict_class</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t301' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>fields</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t302' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t303' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>field</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t304' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span><span class='op'>.</span><span class='nam'>initialize</span><span class='op'>(</span><span class='nam'>parent</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>=</span><span class='nam'>field_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t305' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>key</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_field_key</span><span class='op'>(</span><span class='nam'>field_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t306' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>field</span><span class='op'>.</span><span class='nam'>field_to_native</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t307' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='nam'>key</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t308' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>[</span><span class='nam'>key</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>field</span><span class='strut'>&nbsp;</span></p>
-<p id='t309' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t310' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t311' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t312' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t313' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Deserialize primitives -&gt; objects.</span><span class='strut'>&nbsp;</span></p>
-<p id='t314' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t315' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t316' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>data</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>or</span> <span class='nam'>files</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t317' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>attrs</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>restore_fields</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t318' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>attrs</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t319' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>attrs</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>perform_validation</span><span class='op'>(</span><span class='nam'>attrs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t320' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t321' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>[</span><span class='str'>&#39;non_field_errors&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;No input provided&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t322' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t323' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t324' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>restore_object</span><span class='op'>(</span><span class='nam'>attrs</span><span class='op'>,</span> <span class='nam'>instance</span><span class='op'>=</span><span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;object&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t325' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t326' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>field_to_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t327' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t328' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Override default so that the serializer can be used as a nested field</span><span class='strut'>&nbsp;</span></p>
-<p id='t329' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; across relationships.</span><span class='strut'>&nbsp;</span></p>
-<p id='t330' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t331' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='op'>==</span> <span class='str'>&#39;*&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t332' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t333' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t334' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t335' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>source</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t336' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>obj</span><span class='strut'>&nbsp;</span></p>
-<p id='t337' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t338' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>component</span> <span class='key'>in</span> <span class='nam'>source</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='str'>&#39;.&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t339' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>get_component</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='nam'>component</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t340' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t341' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>break</span><span class='strut'>&nbsp;</span></p>
-<p id='t342' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ObjectDoesNotExist</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t343' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t344' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t345' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>is_simple_callable</span><span class='op'>(</span><span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='str'>&#39;all&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t346' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>value</span><span class='op'>.</span><span class='nam'>all</span><span class='op'>(</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t347' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t348' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t349' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t350' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t351' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t352' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>many</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span><span class='strut'>&nbsp;</span></p>
-<p id='t353' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t354' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>many</span> <span class='op'>=</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='str'>&#39;__iter__&#39;</span><span class='op'>)</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>Page</span><span class='op'>,</span> <span class='nam'>dict</span><span class='op'>,</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>text_type</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t355' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t356' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>many</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t357' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>value</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t358' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t359' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t360' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>field_from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>into</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t361' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t362' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Override default so that the serializer can be used as a writable</span><span class='strut'>&nbsp;</span></p>
-<p id='t363' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; nested field across relationships.</span><span class='strut'>&nbsp;</span></p>
-<p id='t364' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t365' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>read_only</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t366' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t367' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t368' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t369' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>data</span><span class='op'>[</span><span class='nam'>field_name</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t370' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>KeyError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t371' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>partial</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t372' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Note: partial updates shouldn&#39;t set defaults</span><span class='strut'>&nbsp;</span></p>
-<p id='t373' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='nam'>copy</span><span class='op'>.</span><span class='nam'>deepcopy</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>default</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t374' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t375' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>required</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t376' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValidationError</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>error_messages</span><span class='op'>[</span><span class='str'>&#39;required&#39;</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t377' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span><span class='strut'>&nbsp;</span></p>
-<p id='t378' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t379' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Set the serializer object if it exists</span><span class='strut'>&nbsp;</span></p>
-<p id='t380' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>obj</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>parent</span><span class='op'>.</span><span class='nam'>object</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span> <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parent</span><span class='op'>.</span><span class='nam'>object</span> <span class='key'>else</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t381' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t382' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='op'>==</span> <span class='str'>&#39;*&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t383' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t384' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>into</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='nam'>value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t385' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t386' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='op'>(</span><span class='nam'>None</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t387' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>into</span><span class='op'>[</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t388' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t389' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t390' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;instance&#39;</span><span class='op'>:</span> <span class='nam'>obj</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t391' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;data&#39;</span><span class='op'>:</span> <span class='nam'>value</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t392' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;context&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>context</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t393' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;partial&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>partial</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t394' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;many&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span><span class='strut'>&nbsp;</span></p>
-<p id='t395' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t396' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>serializer</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t397' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t398' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>is_valid</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t399' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>into</span><span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>object</span><span class='strut'>&nbsp;</span></p>
-<p id='t400' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t401' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Propagate errors up to our parent</span><span class='strut'>&nbsp;</span></p>
-<p id='t402' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>NestedValidationError</span><span class='op'>(</span><span class='nam'>serializer</span><span class='op'>.</span><span class='nam'>errors</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t403' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t404' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_identity</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t405' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t406' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This hook is required for bulk update.</span><span class='strut'>&nbsp;</span></p>
-<p id='t407' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; It is used to determine the canonical identity of a given object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t408' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t409' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Note that the data has not been validated at this point, so we need</span><span class='strut'>&nbsp;</span></p>
-<p id='t410' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; to make sure that we catch any cases of incorrect datatypes being</span><span class='strut'>&nbsp;</span></p>
-<p id='t411' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; passed to this method.</span><span class='strut'>&nbsp;</span></p>
-<p id='t412' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t413' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t414' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>data</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;id&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t415' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>AttributeError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t416' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t417' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t418' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t419' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>errors</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t420' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t421' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Run deserialization and return error data,</span><span class='strut'>&nbsp;</span></p>
-<p id='t422' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; setting self.object if no errors occurred.</span><span class='strut'>&nbsp;</span></p>
-<p id='t423' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t424' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t425' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>init_data</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>init_files</span><span class='strut'>&nbsp;</span></p>
-<p id='t426' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t427' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t428' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>many</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span><span class='strut'>&nbsp;</span></p>
-<p id='t429' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t430' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>many</span> <span class='op'>=</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='str'>&#39;__iter__&#39;</span><span class='op'>)</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>Page</span><span class='op'>,</span> <span class='nam'>dict</span><span class='op'>,</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>text_type</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t431' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>many</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t432' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='str'>&#39;Implict list/queryset serialization is deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t433' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Use the `many=True` flag when instantiating the serializer.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t434' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>DeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>3</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t435' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t436' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>many</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t437' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t438' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>errors</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t439' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>update</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t440' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t441' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>update</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t442' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If this is a bulk update we need to map all the objects</span><span class='strut'>&nbsp;</span></p>
-<p id='t443' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># to a canonical identity so we can determine which</span><span class='strut'>&nbsp;</span></p>
-<p id='t444' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># individual object is being updated for each item in the</span><span class='strut'>&nbsp;</span></p>
-<p id='t445' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># incoming data</span><span class='strut'>&nbsp;</span></p>
-<p id='t446' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>objects</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span><span class='strut'>&nbsp;</span></p>
-<p id='t447' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>identities</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_identity</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>obj</span> <span class='key'>in</span> <span class='nam'>objects</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t448' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>identity_to_objects</span> <span class='op'>=</span> <span class='nam'>dict</span><span class='op'>(</span><span class='nam'>zip</span><span class='op'>(</span><span class='nam'>identities</span><span class='op'>,</span> <span class='nam'>objects</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t449' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t450' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='str'>&#39;__iter__&#39;</span><span class='op'>)</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>dict</span><span class='op'>,</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>text_type</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t451' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>data</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t452' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>update</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t453' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Determine which object we&#39;re updating</span><span class='strut'>&nbsp;</span></p>
-<p id='t454' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>identity</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_identity</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t455' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span> <span class='op'>=</span> <span class='nam'>identity_to_objects</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='nam'>identity</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t456' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>allow_add_remove</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t457' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t458' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>errors</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='op'>{</span><span class='str'>&#39;non_field_errors&#39;</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;Cannot create a new item, only existing items may be updated.&#39;</span><span class='op'>]</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t459' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>continue</span><span class='strut'>&nbsp;</span></p>
-<p id='t460' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t461' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t462' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>errors</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t463' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t464' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>update</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t465' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_deleted</span> <span class='op'>=</span> <span class='nam'>identity_to_objects</span><span class='op'>.</span><span class='nam'>values</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t466' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t467' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span> <span class='op'>=</span> <span class='nam'>any</span><span class='op'>(</span><span class='nam'>errors</span><span class='op'>)</span> <span class='key'>and</span> <span class='nam'>errors</span> <span class='key'>or</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t468' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t469' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span> <span class='op'>=</span> <span class='op'>{</span><span class='str'>&#39;non_field_errors&#39;</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;Expected a list of items.&#39;</span><span class='op'>]</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t470' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t471' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t472' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t473' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t474' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span> <span class='op'>=</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t475' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t476' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='strut'>&nbsp;</span></p>
-<p id='t477' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t478' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>is_valid</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t479' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>errors</span><span class='strut'>&nbsp;</span></p>
-<p id='t480' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t481' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t482' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>data</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t483' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t484' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns the serialized data on the serializer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t485' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t486' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t487' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>obj</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span><span class='strut'>&nbsp;</span></p>
-<p id='t488' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t489' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t490' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>many</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>many</span><span class='strut'>&nbsp;</span></p>
-<p id='t491' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t492' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>many</span> <span class='op'>=</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='str'>&#39;__iter__&#39;</span><span class='op'>)</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>Page</span><span class='op'>,</span> <span class='nam'>dict</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t493' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>many</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t494' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='str'>&#39;Implict list/queryset serialization is deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t495' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Use the `many=True` flag when instantiating the serializer.&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t496' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>DeprecationWarning</span><span class='op'>,</span> <span class='nam'>stacklevel</span><span class='op'>=</span><span class='num'>2</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t497' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t498' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>many</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t499' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>obj</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t500' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t501' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>to_native</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t502' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t503' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_data</span><span class='strut'>&nbsp;</span></p>
-<p id='t504' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t505' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>save_object</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t506' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>save</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t507' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t508' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>delete_object</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t509' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>delete</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t510' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t511' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>save</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t512' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t513' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Save the deserialized object and return it.</span><span class='strut'>&nbsp;</span></p>
-<p id='t514' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t515' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span><span class='op'>,</span> <span class='nam'>list</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t516' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>save_object</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t517' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t518' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>save_object</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t519' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t520' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>allow_add_remove</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_deleted</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t521' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>delete_object</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_deleted</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t522' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t523' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>object</span><span class='strut'>&nbsp;</span></p>
-<p id='t524' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t525' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>metadata</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t526' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t527' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return a dictionary of metadata about the fields on the serializer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t528' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Useful for things like responding to OPTIONS requests, or generating</span><span class='strut'>&nbsp;</span></p>
-<p id='t529' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; API schemas for auto-documentation.</span><span class='strut'>&nbsp;</span></p>
-<p id='t530' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t531' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>SortedDict</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t532' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>[</span><span class='op'>(</span><span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>field</span><span class='op'>.</span><span class='nam'>metadata</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t533' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>field</span> <span class='key'>in</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>iteritems</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t534' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t535' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t536' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t537' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>Serializer</span><span class='op'>(</span><span class='nam'>six</span><span class='op'>.</span><span class='nam'>with_metaclass</span><span class='op'>(</span><span class='nam'>SerializerMetaclass</span><span class='op'>,</span> <span class='nam'>BaseSerializer</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t538' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t539' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t540' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t541' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ModelSerializerOptions</span><span class='op'>(</span><span class='nam'>SerializerOptions</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t542' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t543' class='pln'><span class='str'>&nbsp; &nbsp; Meta class options for ModelSerializer</span><span class='strut'>&nbsp;</span></p>
-<p id='t544' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t545' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>meta</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t546' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>ModelSerializerOptions</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t547' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>model</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>,</span> <span class='str'>&#39;model&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t548' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>read_only_fields</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>,</span> <span class='str'>&#39;read_only_fields&#39;</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t549' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t550' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t551' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ModelSerializer</span><span class='op'>(</span><span class='nam'>Serializer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t552' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t553' class='pln'><span class='str'>&nbsp; &nbsp; A serializer that deals with model instances and querysets.</span><span class='strut'>&nbsp;</span></p>
-<p id='t554' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t555' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>_options_class</span> <span class='op'>=</span> <span class='nam'>ModelSerializerOptions</span><span class='strut'>&nbsp;</span></p>
-<p id='t556' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t557' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>field_mapping</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t558' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>AutoField</span><span class='op'>:</span> <span class='nam'>IntegerField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t559' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>FloatField</span><span class='op'>:</span> <span class='nam'>FloatField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t560' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>IntegerField</span><span class='op'>:</span> <span class='nam'>IntegerField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t561' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>PositiveIntegerField</span><span class='op'>:</span> <span class='nam'>IntegerField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t562' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>SmallIntegerField</span><span class='op'>:</span> <span class='nam'>IntegerField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t563' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>PositiveSmallIntegerField</span><span class='op'>:</span> <span class='nam'>IntegerField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t564' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>DateTimeField</span><span class='op'>:</span> <span class='nam'>DateTimeField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t565' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>DateField</span><span class='op'>:</span> <span class='nam'>DateField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t566' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>TimeField</span><span class='op'>:</span> <span class='nam'>TimeField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t567' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>DecimalField</span><span class='op'>:</span> <span class='nam'>DecimalField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t568' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>EmailField</span><span class='op'>:</span> <span class='nam'>EmailField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t569' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>CharField</span><span class='op'>:</span> <span class='nam'>CharField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t570' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>URLField</span><span class='op'>:</span> <span class='nam'>URLField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t571' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>SlugField</span><span class='op'>:</span> <span class='nam'>SlugField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t572' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>TextField</span><span class='op'>:</span> <span class='nam'>CharField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t573' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>CommaSeparatedIntegerField</span><span class='op'>:</span> <span class='nam'>CharField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t574' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>BooleanField</span><span class='op'>:</span> <span class='nam'>BooleanField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t575' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>FileField</span><span class='op'>:</span> <span class='nam'>FileField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t576' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>ImageField</span><span class='op'>:</span> <span class='nam'>ImageField</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t577' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t578' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t579' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_default_fields</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t580' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t581' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return all the fields that should be serialized for the model.</span><span class='strut'>&nbsp;</span></p>
-<p id='t582' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t583' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t584' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cls</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>model</span><span class='strut'>&nbsp;</span></p>
-<p id='t585' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>cls</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>,</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t586' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;Serializer class &#39;%s&#39; is missing &#39;model&#39; Meta option&quot;</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>.</span><span class='nam'>__name__</span><span class='strut'>&nbsp;</span></p>
-<p id='t587' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>opts</span> <span class='op'>=</span> <span class='nam'>get_concrete_model</span><span class='op'>(</span><span class='nam'>cls</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>_meta</span><span class='strut'>&nbsp;</span></p>
-<p id='t588' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>SortedDict</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t589' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>nested</span> <span class='op'>=</span> <span class='nam'>bool</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>depth</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t590' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t591' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Deal with adding the primary key field</span><span class='strut'>&nbsp;</span></p>
-<p id='t592' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>pk_field</span> <span class='op'>=</span> <span class='nam'>opts</span><span class='op'>.</span><span class='nam'>pk</span><span class='strut'>&nbsp;</span></p>
-<p id='t593' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>while</span> <span class='nam'>pk_field</span><span class='op'>.</span><span class='nam'>rel</span> <span class='key'>and</span> <span class='nam'>pk_field</span><span class='op'>.</span><span class='nam'>rel</span><span class='op'>.</span><span class='nam'>parent_link</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t594' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If model is a child via multitable inheritance, use parent&#39;s pk</span><span class='strut'>&nbsp;</span></p>
-<p id='t595' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>pk_field</span> <span class='op'>=</span> <span class='nam'>pk_field</span><span class='op'>.</span><span class='nam'>rel</span><span class='op'>.</span><span class='nam'>to</span><span class='op'>.</span><span class='nam'>_meta</span><span class='op'>.</span><span class='nam'>pk</span><span class='strut'>&nbsp;</span></p>
-<p id='t596' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t597' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_pk_field</span><span class='op'>(</span><span class='nam'>pk_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t598' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>field</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t599' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='nam'>pk_field</span><span class='op'>.</span><span class='nam'>name</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>field</span><span class='strut'>&nbsp;</span></p>
-<p id='t600' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t601' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Deal with forward relationships</span><span class='strut'>&nbsp;</span></p>
-<p id='t602' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>forward_rels</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>field</span> <span class='key'>for</span> <span class='nam'>field</span> <span class='key'>in</span> <span class='nam'>opts</span><span class='op'>.</span><span class='nam'>fields</span> <span class='key'>if</span> <span class='nam'>field</span><span class='op'>.</span><span class='nam'>serialize</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t603' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>forward_rels</span> <span class='op'>+=</span> <span class='op'>[</span><span class='nam'>field</span> <span class='key'>for</span> <span class='nam'>field</span> <span class='key'>in</span> <span class='nam'>opts</span><span class='op'>.</span><span class='nam'>many_to_many</span> <span class='key'>if</span> <span class='nam'>field</span><span class='op'>.</span><span class='nam'>serialize</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t604' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t605' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>model_field</span> <span class='key'>in</span> <span class='nam'>forward_rels</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t606' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>has_through_model</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t607' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t608' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>rel</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t609' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>to_many</span> <span class='op'>=</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t610' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>.</span><span class='nam'>related</span><span class='op'>.</span><span class='nam'>ManyToManyField</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t611' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>related_model</span> <span class='op'>=</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>rel</span><span class='op'>.</span><span class='nam'>to</span><span class='strut'>&nbsp;</span></p>
-<p id='t612' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t613' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>to_many</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>rel</span><span class='op'>.</span><span class='nam'>through</span><span class='op'>.</span><span class='nam'>_meta</span><span class='op'>.</span><span class='nam'>auto_created</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t614' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>has_through_model</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t615' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t616' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>rel</span> <span class='key'>and</span> <span class='nam'>nested</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t617' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>inspect</span><span class='op'>.</span><span class='nam'>getargspec</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_nested_field</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>args</span><span class='op'>)</span> <span class='op'>==</span> <span class='num'>2</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t618' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t619' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;The `get_nested_field(model_field)` call signature &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t620' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;is due to be deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t621' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Use `get_nested_field(model_field, related_model, &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t622' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;to_many) instead&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t623' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>PendingDeprecationWarning</span><span class='strut'>&nbsp;</span></p>
-<p id='t624' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t625' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_nested_field</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t626' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t627' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_nested_field</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>,</span> <span class='nam'>related_model</span><span class='op'>,</span> <span class='nam'>to_many</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t628' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>rel</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t629' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>inspect</span><span class='op'>.</span><span class='nam'>getargspec</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_nested_field</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>args</span><span class='op'>)</span> <span class='op'>==</span> <span class='num'>3</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t630' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>warnings</span><span class='op'>.</span><span class='nam'>warn</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t631' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;The `get_related_field(model_field, to_many)` call &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t632' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;signature is due to be deprecated. &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t633' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Use `get_related_field(model_field, related_model, &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t634' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;to_many) instead&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t635' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>PendingDeprecationWarning</span><span class='strut'>&nbsp;</span></p>
-<p id='t636' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t637' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_related_field</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>,</span> <span class='nam'>to_many</span><span class='op'>=</span><span class='nam'>to_many</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t638' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t639' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_related_field</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>,</span> <span class='nam'>related_model</span><span class='op'>,</span> <span class='nam'>to_many</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t640' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t641' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_field</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t642' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t643' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>field</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t644' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>has_through_model</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t645' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span><span class='op'>.</span><span class='nam'>read_only</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t646' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t647' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>name</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>field</span><span class='strut'>&nbsp;</span></p>
-<p id='t648' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t649' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Deal with reverse relationships</span><span class='strut'>&nbsp;</span></p>
-<p id='t650' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t651' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>reverse_rels</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t652' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t653' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Reverse relationships are only included if they are explicitly</span><span class='strut'>&nbsp;</span></p>
-<p id='t654' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># present in the `fields` option on the serializer</span><span class='strut'>&nbsp;</span></p>
-<p id='t655' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>reverse_rels</span> <span class='op'>=</span> <span class='nam'>opts</span><span class='op'>.</span><span class='nam'>get_all_related_objects</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t656' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>reverse_rels</span> <span class='op'>+=</span> <span class='nam'>opts</span><span class='op'>.</span><span class='nam'>get_all_related_many_to_many_objects</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t657' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t658' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>relation</span> <span class='key'>in</span> <span class='nam'>reverse_rels</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t659' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>accessor_name</span> <span class='op'>=</span> <span class='nam'>relation</span><span class='op'>.</span><span class='nam'>get_accessor_name</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t660' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>fields</span> <span class='key'>or</span> <span class='nam'>accessor_name</span> <span class='key'>not</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t661' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>continue</span><span class='strut'>&nbsp;</span></p>
-<p id='t662' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>related_model</span> <span class='op'>=</span> <span class='nam'>relation</span><span class='op'>.</span><span class='nam'>model</span><span class='strut'>&nbsp;</span></p>
-<p id='t663' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>to_many</span> <span class='op'>=</span> <span class='nam'>relation</span><span class='op'>.</span><span class='nam'>field</span><span class='op'>.</span><span class='nam'>rel</span><span class='op'>.</span><span class='nam'>multiple</span><span class='strut'>&nbsp;</span></p>
-<p id='t664' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>has_through_model</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t665' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>is_m2m</span> <span class='op'>=</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>relation</span><span class='op'>.</span><span class='nam'>field</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t666' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>.</span><span class='nam'>related</span><span class='op'>.</span><span class='nam'>ManyToManyField</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t667' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t668' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>is_m2m</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>relation</span><span class='op'>.</span><span class='nam'>field</span><span class='op'>.</span><span class='nam'>rel</span><span class='op'>.</span><span class='nam'>through</span><span class='op'>.</span><span class='nam'>_meta</span><span class='op'>.</span><span class='nam'>auto_created</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t669' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>has_through_model</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t670' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t671' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>nested</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t672' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_nested_field</span><span class='op'>(</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>related_model</span><span class='op'>,</span> <span class='nam'>to_many</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t673' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t674' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_related_field</span><span class='op'>(</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>related_model</span><span class='op'>,</span> <span class='nam'>to_many</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t675' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t676' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>field</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t677' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>has_through_model</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t678' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field</span><span class='op'>.</span><span class='nam'>read_only</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t679' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t680' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='nam'>accessor_name</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>field</span><span class='strut'>&nbsp;</span></p>
-<p id='t681' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t682' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Add the `read_only` flag to any fields that have bee specified</span><span class='strut'>&nbsp;</span></p>
-<p id='t683' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># in the `read_only_fields` option</span><span class='strut'>&nbsp;</span></p>
-<p id='t684' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>field_name</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>read_only_fields</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t685' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>field_name</span> <span class='key'>not</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>base_fields</span><span class='op'>.</span><span class='nam'>keys</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t686' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;field &#39;%s&#39; on serializer &#39;%s&#39; specfied in &quot;</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t687' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;`read_only_fields`, but also added &quot;</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t688' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;as an explict field.&nbsp; Remove it from `read_only_fields`.&quot;</span> <span class='op'>%</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t689' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>(</span><span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>.</span><span class='nam'>__name__</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t690' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>field_name</span> <span class='key'>in</span> <span class='nam'>ret</span><span class='op'>,</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t691' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;Noexistant field &#39;%s&#39; specified in `read_only_fields` &quot;</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t692' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;on serializer &#39;%s&#39;.&quot;</span> <span class='op'>%</span> <span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t693' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>.</span><span class='nam'>__name__</span><span class='op'>,</span> <span class='nam'>field_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t694' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='nam'>field_name</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>read_only</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t695' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t696' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t697' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t698' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_pk_field</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>model_field</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t699' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t700' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a default instance of the pk field.</span><span class='strut'>&nbsp;</span></p>
-<p id='t701' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t702' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_field</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t703' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t704' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_nested_field</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>model_field</span><span class='op'>,</span> <span class='nam'>related_model</span><span class='op'>,</span> <span class='nam'>to_many</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t705' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t706' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Creates a default instance of a nested relational field.</span><span class='strut'>&nbsp;</span></p>
-<p id='t707' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t708' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Note that model_field will be `None` for reverse relationships.</span><span class='strut'>&nbsp;</span></p>
-<p id='t709' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t710' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>NestedModelSerializer</span><span class='op'>(</span><span class='nam'>ModelSerializer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t711' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>Meta</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t712' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>model</span> <span class='op'>=</span> <span class='nam'>related_model</span><span class='strut'>&nbsp;</span></p>
-<p id='t713' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>depth</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>depth</span> <span class='op'>-</span> <span class='num'>1</span><span class='strut'>&nbsp;</span></p>
-<p id='t714' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t715' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>NestedModelSerializer</span><span class='op'>(</span><span class='nam'>many</span><span class='op'>=</span><span class='nam'>to_many</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t716' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t717' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_related_field</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>model_field</span><span class='op'>,</span> <span class='nam'>related_model</span><span class='op'>,</span> <span class='nam'>to_many</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t718' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t719' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Creates a default instance of a flat relational field.</span><span class='strut'>&nbsp;</span></p>
-<p id='t720' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t721' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Note that model_field will be `None` for reverse relationships.</span><span class='strut'>&nbsp;</span></p>
-<p id='t722' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t723' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># TODO: filter queryset using:</span><span class='strut'>&nbsp;</span></p>
-<p id='t724' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># .using(db).complex_filter(self.rel.limit_choices_to)</span><span class='strut'>&nbsp;</span></p>
-<p id='t725' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t726' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t727' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;queryset&#39;</span><span class='op'>:</span> <span class='nam'>related_model</span><span class='op'>.</span><span class='nam'>_default_manager</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t728' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;many&#39;</span><span class='op'>:</span> <span class='nam'>to_many</span><span class='strut'>&nbsp;</span></p>
-<p id='t729' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t730' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t731' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>model_field</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t732' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;required&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='key'>not</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>null</span> <span class='key'>or</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>blank</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t733' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t734' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>PrimaryKeyRelatedField</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t735' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t736' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_field</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>model_field</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t737' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t738' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Creates a default instance of a basic non-relational field.</span><span class='strut'>&nbsp;</span></p>
-<p id='t739' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t740' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t741' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t742' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>null</span> <span class='key'>or</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>blank</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t743' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;required&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t744' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t745' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>,</span> <span class='nam'>models</span><span class='op'>.</span><span class='nam'>AutoField</span><span class='op'>)</span> <span class='key'>or</span> <span class='key'>not</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>editable</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t746' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;read_only&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t747' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t748' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>has_default</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t749' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;default&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>get_default</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t750' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t751' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>issubclass</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>,</span> <span class='nam'>models</span><span class='op'>.</span><span class='nam'>TextField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t752' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;widget&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>widgets</span><span class='op'>.</span><span class='nam'>Textarea</span><span class='strut'>&nbsp;</span></p>
-<p id='t753' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t754' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>verbose_name</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t755' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;label&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>verbose_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t756' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t757' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>help_text</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t758' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;help_text&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>help_text</span><span class='strut'>&nbsp;</span></p>
-<p id='t759' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t760' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># TODO: TypedChoiceField?</span><span class='strut'>&nbsp;</span></p>
-<p id='t761' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>flatchoices</span><span class='op'>:</span>&nbsp; <span class='com'># This ModelField contains choices</span><span class='strut'>&nbsp;</span></p>
-<p id='t762' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;choices&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>flatchoices</span><span class='strut'>&nbsp;</span></p>
-<p id='t763' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ChoiceField</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t764' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t765' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># put this below the ChoiceField because min_value isn&#39;t a valid initializer</span><span class='strut'>&nbsp;</span></p>
-<p id='t766' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>issubclass</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>,</span> <span class='nam'>models</span><span class='op'>.</span><span class='nam'>PositiveIntegerField</span><span class='op'>)</span> <span class='key'>or</span><span class='xx'>\</span><span class='strut'>&nbsp;</span></p>
-<p id='t767' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>issubclass</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>,</span> <span class='nam'>models</span><span class='op'>.</span><span class='nam'>PositiveSmallIntegerField</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t768' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;min_value&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='num'>0</span><span class='strut'>&nbsp;</span></p>
-<p id='t769' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t770' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>attribute_dict</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t771' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>CharField</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;max_length&#39;</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t772' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>CommaSeparatedIntegerField</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;max_length&#39;</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t773' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>DecimalField</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;max_digits&#39;</span><span class='op'>,</span> <span class='str'>&#39;decimal_places&#39;</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t774' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>EmailField</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;max_length&#39;</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t775' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>FileField</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;max_length&#39;</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t776' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>ImageField</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;max_length&#39;</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t777' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>SlugField</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;max_length&#39;</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t778' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>models</span><span class='op'>.</span><span class='nam'>URLField</span><span class='op'>:</span> <span class='op'>[</span><span class='str'>&#39;max_length&#39;</span><span class='op'>]</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t779' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t780' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t781' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>__class__</span> <span class='key'>in</span> <span class='nam'>attribute_dict</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t782' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>attributes</span> <span class='op'>=</span> <span class='nam'>attribute_dict</span><span class='op'>[</span><span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t783' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>attribute</span> <span class='key'>in</span> <span class='nam'>attributes</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t784' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>update</span><span class='op'>(</span><span class='op'>{</span><span class='nam'>attribute</span><span class='op'>:</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>,</span> <span class='nam'>attribute</span><span class='op'>)</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t785' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t786' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t787' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>field_mapping</span><span class='op'>[</span><span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>]</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t788' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>KeyError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t789' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ModelField</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>=</span><span class='nam'>model_field</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t790' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t791' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_validation_exclusions</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t792' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t793' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return a list of field names to exclude from model validation.</span><span class='strut'>&nbsp;</span></p>
-<p id='t794' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t795' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cls</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>model</span><span class='strut'>&nbsp;</span></p>
-<p id='t796' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>opts</span> <span class='op'>=</span> <span class='nam'>get_concrete_model</span><span class='op'>(</span><span class='nam'>cls</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>_meta</span><span class='strut'>&nbsp;</span></p>
-<p id='t797' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>exclusions</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>field</span><span class='op'>.</span><span class='nam'>name</span> <span class='key'>for</span> <span class='nam'>field</span> <span class='key'>in</span> <span class='nam'>opts</span><span class='op'>.</span><span class='nam'>fields</span> <span class='op'>+</span> <span class='nam'>opts</span><span class='op'>.</span><span class='nam'>many_to_many</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t798' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>field_name</span><span class='op'>,</span> <span class='nam'>field</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t799' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field_name</span> <span class='op'>=</span> <span class='nam'>field</span><span class='op'>.</span><span class='nam'>source</span> <span class='key'>or</span> <span class='nam'>field_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t800' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>field_name</span> <span class='key'>in</span> <span class='nam'>exclusions</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>field</span><span class='op'>.</span><span class='nam'>read_only</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t801' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>exclusions</span><span class='op'>.</span><span class='nam'>remove</span><span class='op'>(</span><span class='nam'>field_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t802' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>exclusions</span><span class='strut'>&nbsp;</span></p>
-<p id='t803' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t804' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>full_clean</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>instance</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t805' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t806' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Perform Django&#39;s full_clean, and populate the `errors` dictionary</span><span class='strut'>&nbsp;</span></p>
-<p id='t807' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; if any validation errors occur.</span><span class='strut'>&nbsp;</span></p>
-<p id='t808' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t809' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Note that we don&#39;t perform this inside the `.restore_object()` method,</span><span class='strut'>&nbsp;</span></p>
-<p id='t810' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; so that subclasses can override `.restore_object()`, and still get</span><span class='strut'>&nbsp;</span></p>
-<p id='t811' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; the full_clean validation checking.</span><span class='strut'>&nbsp;</span></p>
-<p id='t812' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t813' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t814' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>instance</span><span class='op'>.</span><span class='nam'>full_clean</span><span class='op'>(</span><span class='nam'>exclude</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_validation_exclusions</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t815' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ValidationError</span> <span class='key'>as</span> <span class='nam'>err</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t816' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span> <span class='op'>=</span> <span class='nam'>err</span><span class='op'>.</span><span class='nam'>message_dict</span><span class='strut'>&nbsp;</span></p>
-<p id='t817' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t818' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>instance</span><span class='strut'>&nbsp;</span></p>
-<p id='t819' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t820' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>restore_object</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>attrs</span><span class='op'>,</span> <span class='nam'>instance</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t821' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t822' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Restore the model instance.</span><span class='strut'>&nbsp;</span></p>
-<p id='t823' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t824' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>m2m_data</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t825' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>related_data</span> <span class='op'>=</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t826' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>meta</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>model</span><span class='op'>.</span><span class='nam'>_meta</span><span class='strut'>&nbsp;</span></p>
-<p id='t827' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t828' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Reverse fk or one-to-one relations</span><span class='strut'>&nbsp;</span></p>
-<p id='t829' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>model</span><span class='op'>)</span> <span class='key'>in</span> <span class='nam'>meta</span><span class='op'>.</span><span class='nam'>get_all_related_objects_with_model</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t830' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field_name</span> <span class='op'>=</span> <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>field</span><span class='op'>.</span><span class='nam'>related_query_name</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t831' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>field_name</span> <span class='key'>in</span> <span class='nam'>attrs</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t832' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>related_data</span><span class='op'>[</span><span class='nam'>field_name</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>attrs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='nam'>field_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t833' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t834' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Reverse m2m relations</span><span class='strut'>&nbsp;</span></p>
-<p id='t835' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>model</span><span class='op'>)</span> <span class='key'>in</span> <span class='nam'>meta</span><span class='op'>.</span><span class='nam'>get_all_related_m2m_objects_with_model</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t836' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>field_name</span> <span class='op'>=</span> <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>field</span><span class='op'>.</span><span class='nam'>related_query_name</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t837' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>field_name</span> <span class='key'>in</span> <span class='nam'>attrs</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t838' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>m2m_data</span><span class='op'>[</span><span class='nam'>field_name</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>attrs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='nam'>field_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t839' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t840' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Forward m2m relations</span><span class='strut'>&nbsp;</span></p>
-<p id='t841' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>field</span> <span class='key'>in</span> <span class='nam'>meta</span><span class='op'>.</span><span class='nam'>many_to_many</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t842' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>field</span><span class='op'>.</span><span class='nam'>name</span> <span class='key'>in</span> <span class='nam'>attrs</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t843' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>m2m_data</span><span class='op'>[</span><span class='nam'>field</span><span class='op'>.</span><span class='nam'>name</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>attrs</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='nam'>field</span><span class='op'>.</span><span class='nam'>name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t844' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t845' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Update an existing instance...</span><span class='strut'>&nbsp;</span></p>
-<p id='t846' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>instance</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t847' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span><span class='op'>,</span> <span class='nam'>val</span> <span class='key'>in</span> <span class='nam'>attrs</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t848' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>setattr</span><span class='op'>(</span><span class='nam'>instance</span><span class='op'>,</span> <span class='nam'>key</span><span class='op'>,</span> <span class='nam'>val</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t849' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t850' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># ...or create a new instance</span><span class='strut'>&nbsp;</span></p>
-<p id='t851' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t852' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>instance</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>model</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>attrs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t853' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t854' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Any relations that cannot be set until we&#39;ve</span><span class='strut'>&nbsp;</span></p>
-<p id='t855' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># saved the model get hidden away on these</span><span class='strut'>&nbsp;</span></p>
-<p id='t856' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># private attributes, so we can deal with them</span><span class='strut'>&nbsp;</span></p>
-<p id='t857' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># at the point of save.</span><span class='strut'>&nbsp;</span></p>
-<p id='t858' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>instance</span><span class='op'>.</span><span class='nam'>_related_data</span> <span class='op'>=</span> <span class='nam'>related_data</span><span class='strut'>&nbsp;</span></p>
-<p id='t859' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>instance</span><span class='op'>.</span><span class='nam'>_m2m_data</span> <span class='op'>=</span> <span class='nam'>m2m_data</span><span class='strut'>&nbsp;</span></p>
-<p id='t860' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t861' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>instance</span><span class='strut'>&nbsp;</span></p>
-<p id='t862' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t863' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t864' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t865' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Override the default method to also include model field validation.</span><span class='strut'>&nbsp;</span></p>
-<p id='t866' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t867' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>instance</span> <span class='op'>=</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>ModelSerializer</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>from_native</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>,</span> <span class='nam'>files</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t868' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_errors</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t869' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>full_clean</span><span class='op'>(</span><span class='nam'>instance</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t870' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t871' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>save_object</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t872' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t873' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Save the deserialized object and return it.</span><span class='strut'>&nbsp;</span></p>
-<p id='t874' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t875' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>save</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t876' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t877' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='str'>&#39;_m2m_data&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t878' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>accessor_name</span><span class='op'>,</span> <span class='nam'>object_list</span> <span class='key'>in</span> <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>_m2m_data</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t879' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>setattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>accessor_name</span><span class='op'>,</span> <span class='nam'>object_list</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t880' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>del</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>.</span><span class='nam'>_m2m_data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t881' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t882' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='str'>&#39;_related_data&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t883' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>accessor_name</span><span class='op'>,</span> <span class='nam'>related</span> <span class='key'>in</span> <span class='nam'>obj</span><span class='op'>.</span><span class='nam'>_related_data</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t884' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>setattr</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>,</span> <span class='nam'>accessor_name</span><span class='op'>,</span> <span class='nam'>related</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t885' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>del</span><span class='op'>(</span><span class='nam'>obj</span><span class='op'>.</span><span class='nam'>_related_data</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t886' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t887' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t888' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>HyperlinkedModelSerializerOptions</span><span class='op'>(</span><span class='nam'>ModelSerializerOptions</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t889' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t890' class='pln'><span class='str'>&nbsp; &nbsp; Options for HyperlinkedModelSerializer</span><span class='strut'>&nbsp;</span></p>
-<p id='t891' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t892' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>meta</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t893' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>super</span><span class='op'>(</span><span class='nam'>HyperlinkedModelSerializerOptions</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t894' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>view_name</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>,</span> <span class='str'>&#39;view_name&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t895' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>lookup_field</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>meta</span><span class='op'>,</span> <span class='str'>&#39;lookup_field&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t896' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t897' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t898' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>HyperlinkedModelSerializer</span><span class='op'>(</span><span class='nam'>ModelSerializer</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t899' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t900' class='pln'><span class='str'>&nbsp; &nbsp; A subclass of ModelSerializer that uses hyperlinked relationships,</span><span class='strut'>&nbsp;</span></p>
-<p id='t901' class='pln'><span class='str'>&nbsp; &nbsp; instead of primary key relationships.</span><span class='strut'>&nbsp;</span></p>
-<p id='t902' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t903' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>_options_class</span> <span class='op'>=</span> <span class='nam'>HyperlinkedModelSerializerOptions</span><span class='strut'>&nbsp;</span></p>
-<p id='t904' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>_default_view_name</span> <span class='op'>=</span> <span class='str'>&#39;%(model_name)s-detail&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t905' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>_hyperlink_field_class</span> <span class='op'>=</span> <span class='nam'>HyperlinkedRelatedField</span><span class='strut'>&nbsp;</span></p>
-<p id='t906' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t907' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_default_fields</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t908' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fields</span> <span class='op'>=</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>HyperlinkedModelSerializer</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>get_default_fields</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t909' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t910' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>view_name</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t911' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>view_name</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_get_default_view_name</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>model</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t912' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t913' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='str'>&#39;url&#39;</span> <span class='key'>not</span> <span class='key'>in</span> <span class='nam'>fields</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t914' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>url_field</span> <span class='op'>=</span> <span class='nam'>HyperlinkedIdentityField</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t915' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view_name</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>view_name</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t916' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>lookup_field</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='strut'>&nbsp;</span></p>
-<p id='t917' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t918' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fields</span><span class='op'>.</span><span class='nam'>insert</span><span class='op'>(</span><span class='num'>0</span><span class='op'>,</span> <span class='str'>&#39;url&#39;</span><span class='op'>,</span> <span class='nam'>url_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t919' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t920' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>fields</span><span class='strut'>&nbsp;</span></p>
-<p id='t921' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t922' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_pk_field</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>model_field</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t923' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>fields</span> <span class='key'>and</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>name</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>fields</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t924' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_field</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t925' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t926' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_related_field</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>model_field</span><span class='op'>,</span> <span class='nam'>related_model</span><span class='op'>,</span> <span class='nam'>to_many</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t927' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t928' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Creates a default instance of a flat relational field.</span><span class='strut'>&nbsp;</span></p>
-<p id='t929' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t930' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># TODO: filter queryset using:</span><span class='strut'>&nbsp;</span></p>
-<p id='t931' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># .using(db).complex_filter(self.rel.limit_choices_to)</span><span class='strut'>&nbsp;</span></p>
-<p id='t932' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t933' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;queryset&#39;</span><span class='op'>:</span> <span class='nam'>related_model</span><span class='op'>.</span><span class='nam'>_default_manager</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t934' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;view_name&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_get_default_view_name</span><span class='op'>(</span><span class='nam'>related_model</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t935' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;many&#39;</span><span class='op'>:</span> <span class='nam'>to_many</span><span class='strut'>&nbsp;</span></p>
-<p id='t936' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t937' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t938' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>model_field</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t939' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;required&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='key'>not</span><span class='op'>(</span><span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>null</span> <span class='key'>or</span> <span class='nam'>model_field</span><span class='op'>.</span><span class='nam'>blank</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t940' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t941' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t942' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span><span class='op'>[</span><span class='str'>&#39;lookup_field&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>opts</span><span class='op'>.</span><span class='nam'>lookup_field</span><span class='strut'>&nbsp;</span></p>
-<p id='t943' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t944' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_hyperlink_field_class</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t945' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t946' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_identity</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t947' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t948' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This hook is required for bulk update.</span><span class='strut'>&nbsp;</span></p>
-<p id='t949' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; We need to override the default, to use the url as the identity.</span><span class='strut'>&nbsp;</span></p>
-<p id='t950' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t951' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t952' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>data</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;url&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t953' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>AttributeError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t954' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t955' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t956' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_default_view_name</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>model</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t957' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t958' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return the view name to use if &#39;view_name&#39; is not specified in &#39;Meta&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t959' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t960' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>model_meta</span> <span class='op'>=</span> <span class='nam'>model</span><span class='op'>.</span><span class='nam'>_meta</span><span class='strut'>&nbsp;</span></p>
-<p id='t961' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>format_kwargs</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t962' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;app_label&#39;</span><span class='op'>:</span> <span class='nam'>model_meta</span><span class='op'>.</span><span class='nam'>app_label</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t963' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;model_name&#39;</span><span class='op'>:</span> <span class='nam'>model_meta</span><span class='op'>.</span><span class='nam'>object_name</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t964' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t965' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_default_view_name</span> <span class='op'>%</span> <span class='nam'>format_kwargs</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_settings.html b/htmlcov/rest_framework_settings.html
deleted file mode 100644
index ae47b5bc..00000000
--- a/htmlcov/rest_framework_settings.html
+++ /dev/null
@@ -1,465 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/settings: 95%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/settings</b> :
- <span class='pc_cov'>95%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 44 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>42 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>2 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='pln'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='stm run hide_run'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='stm run hide_run'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='pln'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='pln'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='pln'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='pln'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='pln'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='pln'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='pln'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='pln'><a href='#n85'>85</a></p>
-<p id='n86' class='pln'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='pln'><a href='#n88'>88</a></p>
-<p id='n89' class='pln'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='pln'><a href='#n91'>91</a></p>
-<p id='n92' class='pln'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='pln'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='pln'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='pln'><a href='#n99'>99</a></p>
-<p id='n100' class='pln'><a href='#n100'>100</a></p>
-<p id='n101' class='pln'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='pln'><a href='#n103'>103</a></p>
-<p id='n104' class='pln'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='pln'><a href='#n106'>106</a></p>
-<p id='n107' class='stm run hide_run'><a href='#n107'>107</a></p>
-<p id='n108' class='pln'><a href='#n108'>108</a></p>
-<p id='n109' class='pln'><a href='#n109'>109</a></p>
-<p id='n110' class='pln'><a href='#n110'>110</a></p>
-<p id='n111' class='pln'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='pln'><a href='#n114'>114</a></p>
-<p id='n115' class='pln'><a href='#n115'>115</a></p>
-<p id='n116' class='pln'><a href='#n116'>116</a></p>
-<p id='n117' class='pln'><a href='#n117'>117</a></p>
-<p id='n118' class='pln'><a href='#n118'>118</a></p>
-<p id='n119' class='pln'><a href='#n119'>119</a></p>
-<p id='n120' class='pln'><a href='#n120'>120</a></p>
-<p id='n121' class='pln'><a href='#n121'>121</a></p>
-<p id='n122' class='pln'><a href='#n122'>122</a></p>
-<p id='n123' class='stm run hide_run'><a href='#n123'>123</a></p>
-<p id='n124' class='pln'><a href='#n124'>124</a></p>
-<p id='n125' class='pln'><a href='#n125'>125</a></p>
-<p id='n126' class='pln'><a href='#n126'>126</a></p>
-<p id='n127' class='pln'><a href='#n127'>127</a></p>
-<p id='n128' class='stm run hide_run'><a href='#n128'>128</a></p>
-<p id='n129' class='stm run hide_run'><a href='#n129'>129</a></p>
-<p id='n130' class='stm run hide_run'><a href='#n130'>130</a></p>
-<p id='n131' class='stm run hide_run'><a href='#n131'>131</a></p>
-<p id='n132' class='stm mis'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='pln'><a href='#n134'>134</a></p>
-<p id='n135' class='stm run hide_run'><a href='#n135'>135</a></p>
-<p id='n136' class='pln'><a href='#n136'>136</a></p>
-<p id='n137' class='pln'><a href='#n137'>137</a></p>
-<p id='n138' class='pln'><a href='#n138'>138</a></p>
-<p id='n139' class='stm run hide_run'><a href='#n139'>139</a></p>
-<p id='n140' class='pln'><a href='#n140'>140</a></p>
-<p id='n141' class='stm run hide_run'><a href='#n141'>141</a></p>
-<p id='n142' class='stm run hide_run'><a href='#n142'>142</a></p>
-<p id='n143' class='stm run hide_run'><a href='#n143'>143</a></p>
-<p id='n144' class='stm run hide_run'><a href='#n144'>144</a></p>
-<p id='n145' class='stm run hide_run'><a href='#n145'>145</a></p>
-<p id='n146' class='stm run hide_run'><a href='#n146'>146</a></p>
-<p id='n147' class='stm run hide_run'><a href='#n147'>147</a></p>
-<p id='n148' class='pln'><a href='#n148'>148</a></p>
-<p id='n149' class='pln'><a href='#n149'>149</a></p>
-<p id='n150' class='stm run hide_run'><a href='#n150'>150</a></p>
-<p id='n151' class='pln'><a href='#n151'>151</a></p>
-<p id='n152' class='pln'><a href='#n152'>152</a></p>
-<p id='n153' class='pln'><a href='#n153'>153</a></p>
-<p id='n154' class='pln'><a href='#n154'>154</a></p>
-<p id='n155' class='pln'><a href='#n155'>155</a></p>
-<p id='n156' class='pln'><a href='#n156'>156</a></p>
-<p id='n157' class='pln'><a href='#n157'>157</a></p>
-<p id='n158' class='pln'><a href='#n158'>158</a></p>
-<p id='n159' class='pln'><a href='#n159'>159</a></p>
-<p id='n160' class='pln'><a href='#n160'>160</a></p>
-<p id='n161' class='stm run hide_run'><a href='#n161'>161</a></p>
-<p id='n162' class='stm run hide_run'><a href='#n162'>162</a></p>
-<p id='n163' class='stm run hide_run'><a href='#n163'>163</a></p>
-<p id='n164' class='stm run hide_run'><a href='#n164'>164</a></p>
-<p id='n165' class='pln'><a href='#n165'>165</a></p>
-<p id='n166' class='stm run hide_run'><a href='#n166'>166</a></p>
-<p id='n167' class='stm run hide_run'><a href='#n167'>167</a></p>
-<p id='n168' class='stm run hide_run'><a href='#n168'>168</a></p>
-<p id='n169' class='pln'><a href='#n169'>169</a></p>
-<p id='n170' class='stm run hide_run'><a href='#n170'>170</a></p>
-<p id='n171' class='pln'><a href='#n171'>171</a></p>
-<p id='n172' class='stm run hide_run'><a href='#n172'>172</a></p>
-<p id='n173' class='stm run hide_run'><a href='#n173'>173</a></p>
-<p id='n174' class='pln'><a href='#n174'>174</a></p>
-<p id='n175' class='stm run hide_run'><a href='#n175'>175</a></p>
-<p id='n176' class='pln'><a href='#n176'>176</a></p>
-<p id='n177' class='pln'><a href='#n177'>177</a></p>
-<p id='n178' class='stm run hide_run'><a href='#n178'>178</a></p>
-<p id='n179' class='stm run hide_run'><a href='#n179'>179</a></p>
-<p id='n180' class='pln'><a href='#n180'>180</a></p>
-<p id='n181' class='stm run hide_run'><a href='#n181'>181</a></p>
-<p id='n182' class='pln'><a href='#n182'>182</a></p>
-<p id='n183' class='pln'><a href='#n183'>183</a></p>
-<p id='n184' class='stm run hide_run'><a href='#n184'>184</a></p>
-<p id='n185' class='stm run hide_run'><a href='#n185'>185</a></p>
-<p id='n186' class='pln'><a href='#n186'>186</a></p>
-<p id='n187' class='stm run hide_run'><a href='#n187'>187</a></p>
-<p id='n188' class='stm run hide_run'><a href='#n188'>188</a></p>
-<p id='n189' class='pln'><a href='#n189'>189</a></p>
-<p id='n190' class='stm mis'><a href='#n190'>190</a></p>
-<p id='n191' class='pln'><a href='#n191'>191</a></p>
-<p id='n192' class='stm run hide_run'><a href='#n192'>192</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Settings for REST framework are all namespaced in the REST_FRAMEWORK setting.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>For example your project&#39;s `settings.py` file might look like this:</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>REST_FRAMEWORK = {</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='str'>&nbsp; &nbsp; &#39;DEFAULT_RENDERER_CLASSES&#39;: (</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &#39;rest_framework.renderers.JSONRenderer&#39;,</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &#39;rest_framework.renderers.YAMLRenderer&#39;,</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='pln'><span class='str'>&nbsp; &nbsp; )</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='str'>&nbsp; &nbsp; &#39;DEFAULT_PARSER_CLASSES&#39;: (</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &#39;rest_framework.parsers.JSONParser&#39;,</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &#39;rest_framework.parsers.YAMLParser&#39;,</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='str'>&nbsp; &nbsp; )</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='str'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='str'>This module provides the `api_setting` object, that is used to access</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='str'>REST framework settings, checking for user settings first, then falling</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'><span class='str'>back to the defaults.</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>conf</span> <span class='key'>import</span> <span class='nam'>settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span> <span class='key'>import</span> <span class='nam'>importlib</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>ISO_8601</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>six</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm run hide_run'><span class='nam'>USER_SETTINGS</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>settings</span><span class='op'>,</span> <span class='str'>&#39;REST_FRAMEWORK&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'><span class='nam'>DEFAULTS</span> <span class='op'>=</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'>&nbsp; &nbsp; <span class='com'># Base API policies</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_RENDERER_CLASSES&#39;</span><span class='op'>:</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;rest_framework.renderers.JSONRenderer&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;rest_framework.renderers.BrowsableAPIRenderer&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'>&nbsp; &nbsp; <span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_PARSER_CLASSES&#39;</span><span class='op'>:</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;rest_framework.parsers.JSONParser&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;rest_framework.parsers.FormParser&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;rest_framework.parsers.MultiPartParser&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'>&nbsp; &nbsp; <span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_AUTHENTICATION_CLASSES&#39;</span><span class='op'>:</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;rest_framework.authentication.SessionAuthentication&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;rest_framework.authentication.BasicAuthentication&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'>&nbsp; &nbsp; <span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_PERMISSION_CLASSES&#39;</span><span class='op'>:</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;rest_framework.permissions.AllowAny&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'>&nbsp; &nbsp; <span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_THROTTLE_CLASSES&#39;</span><span class='op'>:</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'>&nbsp; &nbsp; <span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_CONTENT_NEGOTIATION_CLASS&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;rest_framework.negotiation.DefaultContentNegotiation&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'>&nbsp; &nbsp; <span class='com'># Genric view behavior</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_MODEL_SERIALIZER_CLASS&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;rest_framework.serializers.ModelSerializer&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_PAGINATION_SERIALIZER_CLASS&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;rest_framework.pagination.PaginationSerializer&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_FILTER_BACKENDS&#39;</span><span class='op'>:</span> <span class='op'>(</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'>&nbsp; &nbsp; <span class='com'># Throttling</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_THROTTLE_RATES&#39;</span><span class='op'>:</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;user&#39;</span><span class='op'>:</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;anon&#39;</span><span class='op'>:</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'>&nbsp; &nbsp; <span class='op'>}</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='pln'>&nbsp; &nbsp; <span class='com'># Pagination</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;PAGINATE_BY&#39;</span><span class='op'>:</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;PAGINATE_BY_PARAM&#39;</span><span class='op'>:</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'>&nbsp; &nbsp; <span class='com'># Authentication</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;UNAUTHENTICATED_USER&#39;</span><span class='op'>:</span> <span class='str'>&#39;django.contrib.auth.models.AnonymousUser&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;UNAUTHENTICATED_TOKEN&#39;</span><span class='op'>:</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'>&nbsp; &nbsp; <span class='com'># Browser enhancements</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;FORM_METHOD_OVERRIDE&#39;</span><span class='op'>:</span> <span class='str'>&#39;_method&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;FORM_CONTENT_OVERRIDE&#39;</span><span class='op'>:</span> <span class='str'>&#39;_content&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;FORM_CONTENTTYPE_OVERRIDE&#39;</span><span class='op'>:</span> <span class='str'>&#39;_content_type&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;URL_ACCEPT_OVERRIDE&#39;</span><span class='op'>:</span> <span class='str'>&#39;accept&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;URL_FORMAT_OVERRIDE&#39;</span><span class='op'>:</span> <span class='str'>&#39;format&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;FORMAT_SUFFIX_KWARG&#39;</span><span class='op'>:</span> <span class='str'>&#39;format&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='pln'>&nbsp; &nbsp; <span class='com'># Input and output formats</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DATE_INPUT_FORMATS&#39;</span><span class='op'>:</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ISO_8601</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='pln'>&nbsp; &nbsp; <span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DATE_FORMAT&#39;</span><span class='op'>:</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DATETIME_INPUT_FORMATS&#39;</span><span class='op'>:</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ISO_8601</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'>&nbsp; &nbsp; <span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DATETIME_FORMAT&#39;</span><span class='op'>:</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;TIME_INPUT_FORMATS&#39;</span><span class='op'>:</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ISO_8601</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'>&nbsp; &nbsp; <span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;TIME_FORMAT&#39;</span><span class='op'>:</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='pln'>&nbsp; &nbsp; <span class='com'># Pending deprecation</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;FILTER_BACKEND&#39;</span><span class='op'>:</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='pln'><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='pln'><span class='com'># List of settings that may be in string import notation.</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='stm run hide_run'><span class='nam'>IMPORT_STRINGS</span> <span class='op'>=</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_RENDERER_CLASSES&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_PARSER_CLASSES&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_AUTHENTICATION_CLASSES&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_PERMISSION_CLASSES&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_THROTTLE_CLASSES&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_CONTENT_NEGOTIATION_CLASS&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_MODEL_SERIALIZER_CLASS&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_PAGINATION_SERIALIZER_CLASS&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;DEFAULT_FILTER_BACKENDS&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;FILTER_BACKEND&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;UNAUTHENTICATED_USER&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='pln'>&nbsp; &nbsp; <span class='str'>&#39;UNAUTHENTICATED_TOKEN&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='pln'><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>perform_import</span><span class='op'>(</span><span class='nam'>val</span><span class='op'>,</span> <span class='nam'>setting_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='pln'><span class='str'>&nbsp; &nbsp; If the given setting is a string import notation,</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='pln'><span class='str'>&nbsp; &nbsp; then perform the necessary import or imports.</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>val</span><span class='op'>,</span> <span class='nam'>six</span><span class='op'>.</span><span class='nam'>string_types</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>import_from_string</span><span class='op'>(</span><span class='nam'>val</span><span class='op'>,</span> <span class='nam'>setting_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>val</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>list</span><span class='op'>,</span> <span class='nam'>tuple</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>import_from_string</span><span class='op'>(</span><span class='nam'>item</span><span class='op'>,</span> <span class='nam'>setting_name</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>val</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='stm mis'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>val</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>import_from_string</span><span class='op'>(</span><span class='nam'>val</span><span class='op'>,</span> <span class='nam'>setting_name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='pln'><span class='str'>&nbsp; &nbsp; Attempt to import a class from a string representation.</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Nod to tastypie&#39;s use of importlib.</span><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parts</span> <span class='op'>=</span> <span class='nam'>val</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='str'>&#39;.&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>module_path</span><span class='op'>,</span> <span class='nam'>class_name</span> <span class='op'>=</span> <span class='str'>&#39;.&#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>parts</span><span class='op'>[</span><span class='op'>:</span><span class='op'>-</span><span class='num'>1</span><span class='op'>]</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>parts</span><span class='op'>[</span><span class='op'>-</span><span class='num'>1</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>module</span> <span class='op'>=</span> <span class='nam'>importlib</span><span class='op'>.</span><span class='nam'>import_module</span><span class='op'>(</span><span class='nam'>module_path</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>module</span><span class='op'>,</span> <span class='nam'>class_name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>ImportError</span> <span class='key'>as</span> <span class='nam'>e</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&quot;Could not import &#39;%s&#39; for API setting &#39;%s&#39;. %s: %s.&quot;</span> <span class='op'>%</span> <span class='op'>(</span><span class='nam'>val</span><span class='op'>,</span> <span class='nam'>setting_name</span><span class='op'>,</span> <span class='nam'>e</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>.</span><span class='nam'>__name__</span><span class='op'>,</span> <span class='nam'>e</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ImportError</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>APISettings</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='pln'><span class='str'>&nbsp; &nbsp; A settings object, that allows API settings to be accessed as properties.</span><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='pln'><span class='str'>&nbsp; &nbsp; For example:</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; from rest_framework.settings import api_settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; print api_settings.DEFAULT_RENDERER_CLASSES</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='pln'><span class='str'>&nbsp; &nbsp; Any setting with string import paths will be automatically resolved</span><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='pln'><span class='str'>&nbsp; &nbsp; and return the class, rather than the string literal.</span><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>user_settings</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>defaults</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>import_strings</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>user_settings</span> <span class='op'>=</span> <span class='nam'>user_settings</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>defaults</span> <span class='op'>=</span> <span class='nam'>defaults</span> <span class='key'>or</span> <span class='op'>{</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>import_strings</span> <span class='op'>=</span> <span class='nam'>import_strings</span> <span class='key'>or</span> <span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__getattr__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>attr</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>attr</span> <span class='key'>not</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>defaults</span><span class='op'>.</span><span class='nam'>keys</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>AttributeError</span><span class='op'>(</span><span class='str'>&quot;Invalid API setting: &#39;%s&#39;&quot;</span> <span class='op'>%</span> <span class='nam'>attr</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Check if present in user settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>val</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>user_settings</span><span class='op'>[</span><span class='nam'>attr</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>KeyError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Fall back to defaults</span><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>val</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>defaults</span><span class='op'>[</span><span class='nam'>attr</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Coerce import strings into classes</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>val</span> <span class='key'>and</span> <span class='nam'>attr</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>import_strings</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>val</span> <span class='op'>=</span> <span class='nam'>perform_import</span><span class='op'>(</span><span class='nam'>val</span><span class='op'>,</span> <span class='nam'>attr</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>validate_setting</span><span class='op'>(</span><span class='nam'>attr</span><span class='op'>,</span> <span class='nam'>val</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Cache the result</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>setattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>attr</span><span class='op'>,</span> <span class='nam'>val</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>val</span><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>validate_setting</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>attr</span><span class='op'>,</span> <span class='nam'>val</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>attr</span> <span class='op'>==</span> <span class='str'>&#39;FILTER_BACKEND&#39;</span> <span class='key'>and</span> <span class='nam'>val</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Make sure we can initialize the class</span><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>val</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='stm run hide_run'><span class='nam'>api_settings</span> <span class='op'>=</span> <span class='nam'>APISettings</span><span class='op'>(</span><span class='nam'>USER_SETTINGS</span><span class='op'>,</span> <span class='nam'>DEFAULTS</span><span class='op'>,</span> <span class='nam'>IMPORT_STRINGS</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_status.html b/htmlcov/rest_framework_status.html
deleted file mode 100644
index 85f919f6..00000000
--- a/htmlcov/rest_framework_status.html
+++ /dev/null
@@ -1,187 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/status: 100%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/status</b> :
- <span class='pc_cov'>100%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 46 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>46 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>0 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='stm run hide_run'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='stm run hide_run'><a href='#n27'>27</a></p>
-<p id='n28' class='stm run hide_run'><a href='#n28'>28</a></p>
-<p id='n29' class='stm run hide_run'><a href='#n29'>29</a></p>
-<p id='n30' class='stm run hide_run'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='stm run hide_run'><a href='#n32'>32</a></p>
-<p id='n33' class='stm run hide_run'><a href='#n33'>33</a></p>
-<p id='n34' class='stm run hide_run'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='stm run hide_run'><a href='#n36'>36</a></p>
-<p id='n37' class='stm run hide_run'><a href='#n37'>37</a></p>
-<p id='n38' class='stm run hide_run'><a href='#n38'>38</a></p>
-<p id='n39' class='stm run hide_run'><a href='#n39'>39</a></p>
-<p id='n40' class='stm run hide_run'><a href='#n40'>40</a></p>
-<p id='n41' class='stm run hide_run'><a href='#n41'>41</a></p>
-<p id='n42' class='stm run hide_run'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='stm run hide_run'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='stm run hide_run'><a href='#n46'>46</a></p>
-<p id='n47' class='stm run hide_run'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='stm run hide_run'><a href='#n49'>49</a></p>
-<p id='n50' class='stm run hide_run'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Descriptive HTTP status codes, for code readability.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>See RFC 2616 - http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>And RFC 6585 - http://tools.ietf.org/html/rfc6585</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='nam'>HTTP_100_CONTINUE</span> <span class='op'>=</span> <span class='num'>100</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='nam'>HTTP_101_SWITCHING_PROTOCOLS</span> <span class='op'>=</span> <span class='num'>101</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='nam'>HTTP_200_OK</span> <span class='op'>=</span> <span class='num'>200</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='nam'>HTTP_201_CREATED</span> <span class='op'>=</span> <span class='num'>201</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='nam'>HTTP_202_ACCEPTED</span> <span class='op'>=</span> <span class='num'>202</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'><span class='nam'>HTTP_203_NON_AUTHORITATIVE_INFORMATION</span> <span class='op'>=</span> <span class='num'>203</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'><span class='nam'>HTTP_204_NO_CONTENT</span> <span class='op'>=</span> <span class='num'>204</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'><span class='nam'>HTTP_205_RESET_CONTENT</span> <span class='op'>=</span> <span class='num'>205</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'><span class='nam'>HTTP_206_PARTIAL_CONTENT</span> <span class='op'>=</span> <span class='num'>206</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'><span class='nam'>HTTP_300_MULTIPLE_CHOICES</span> <span class='op'>=</span> <span class='num'>300</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'><span class='nam'>HTTP_301_MOVED_PERMANENTLY</span> <span class='op'>=</span> <span class='num'>301</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'><span class='nam'>HTTP_302_FOUND</span> <span class='op'>=</span> <span class='num'>302</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'><span class='nam'>HTTP_303_SEE_OTHER</span> <span class='op'>=</span> <span class='num'>303</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'><span class='nam'>HTTP_304_NOT_MODIFIED</span> <span class='op'>=</span> <span class='num'>304</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'><span class='nam'>HTTP_305_USE_PROXY</span> <span class='op'>=</span> <span class='num'>305</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'><span class='nam'>HTTP_306_RESERVED</span> <span class='op'>=</span> <span class='num'>306</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm run hide_run'><span class='nam'>HTTP_307_TEMPORARY_REDIRECT</span> <span class='op'>=</span> <span class='num'>307</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'><span class='nam'>HTTP_400_BAD_REQUEST</span> <span class='op'>=</span> <span class='num'>400</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm run hide_run'><span class='nam'>HTTP_401_UNAUTHORIZED</span> <span class='op'>=</span> <span class='num'>401</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='stm run hide_run'><span class='nam'>HTTP_402_PAYMENT_REQUIRED</span> <span class='op'>=</span> <span class='num'>402</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm run hide_run'><span class='nam'>HTTP_403_FORBIDDEN</span> <span class='op'>=</span> <span class='num'>403</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm run hide_run'><span class='nam'>HTTP_404_NOT_FOUND</span> <span class='op'>=</span> <span class='num'>404</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'><span class='nam'>HTTP_405_METHOD_NOT_ALLOWED</span> <span class='op'>=</span> <span class='num'>405</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm run hide_run'><span class='nam'>HTTP_406_NOT_ACCEPTABLE</span> <span class='op'>=</span> <span class='num'>406</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm run hide_run'><span class='nam'>HTTP_407_PROXY_AUTHENTICATION_REQUIRED</span> <span class='op'>=</span> <span class='num'>407</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='stm run hide_run'><span class='nam'>HTTP_408_REQUEST_TIMEOUT</span> <span class='op'>=</span> <span class='num'>408</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'><span class='nam'>HTTP_409_CONFLICT</span> <span class='op'>=</span> <span class='num'>409</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm run hide_run'><span class='nam'>HTTP_410_GONE</span> <span class='op'>=</span> <span class='num'>410</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='stm run hide_run'><span class='nam'>HTTP_411_LENGTH_REQUIRED</span> <span class='op'>=</span> <span class='num'>411</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm run hide_run'><span class='nam'>HTTP_412_PRECONDITION_FAILED</span> <span class='op'>=</span> <span class='num'>412</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm run hide_run'><span class='nam'>HTTP_413_REQUEST_ENTITY_TOO_LARGE</span> <span class='op'>=</span> <span class='num'>413</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm run hide_run'><span class='nam'>HTTP_414_REQUEST_URI_TOO_LONG</span> <span class='op'>=</span> <span class='num'>414</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm run hide_run'><span class='nam'>HTTP_415_UNSUPPORTED_MEDIA_TYPE</span> <span class='op'>=</span> <span class='num'>415</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm run hide_run'><span class='nam'>HTTP_416_REQUESTED_RANGE_NOT_SATISFIABLE</span> <span class='op'>=</span> <span class='num'>416</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'><span class='nam'>HTTP_417_EXPECTATION_FAILED</span> <span class='op'>=</span> <span class='num'>417</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm run hide_run'><span class='nam'>HTTP_428_PRECONDITION_REQUIRED</span> <span class='op'>=</span> <span class='num'>428</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'><span class='nam'>HTTP_429_TOO_MANY_REQUESTS</span> <span class='op'>=</span> <span class='num'>429</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm run hide_run'><span class='nam'>HTTP_431_REQUEST_HEADER_FIELDS_TOO_LARGE</span> <span class='op'>=</span> <span class='num'>431</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm run hide_run'><span class='nam'>HTTP_500_INTERNAL_SERVER_ERROR</span> <span class='op'>=</span> <span class='num'>500</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'><span class='nam'>HTTP_501_NOT_IMPLEMENTED</span> <span class='op'>=</span> <span class='num'>501</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm run hide_run'><span class='nam'>HTTP_502_BAD_GATEWAY</span> <span class='op'>=</span> <span class='num'>502</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm run hide_run'><span class='nam'>HTTP_503_SERVICE_UNAVAILABLE</span> <span class='op'>=</span> <span class='num'>503</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'><span class='nam'>HTTP_504_GATEWAY_TIMEOUT</span> <span class='op'>=</span> <span class='num'>504</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'><span class='nam'>HTTP_505_HTTP_VERSION_NOT_SUPPORTED</span> <span class='op'>=</span> <span class='num'>505</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'><span class='nam'>HTTP_511_NETWORK_AUTHENTICATION_REQUIRED</span> <span class='op'>=</span> <span class='num'>511</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_throttling.html b/htmlcov/rest_framework_throttling.html
deleted file mode 100644
index 778b0293..00000000
--- a/htmlcov/rest_framework_throttling.html
+++ /dev/null
@@ -1,533 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/throttling: 81%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/throttling</b> :
- <span class='pc_cov'>81%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 90 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>73 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>17 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='stm run hide_run'><a href='#n4'>4</a></p>
-<p id='n5' class='stm run hide_run'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='pln'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='stm mis'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='stm mis'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='stm run hide_run'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='stm run hide_run'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='stm run hide_run'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='stm run hide_run'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='stm mis'><a href='#n49'>49</a></p>
-<p id='n50' class='stm run hide_run'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='stm mis'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='pln'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='stm mis'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='stm mis'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='stm run hide_run'><a href='#n70'>70</a></p>
-<p id='n71' class='stm run hide_run'><a href='#n71'>71</a></p>
-<p id='n72' class='stm mis'><a href='#n72'>72</a></p>
-<p id='n73' class='stm mis'><a href='#n73'>73</a></p>
-<p id='n74' class='stm mis'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='stm run hide_run'><a href='#n76'>76</a></p>
-<p id='n77' class='pln'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='stm run hide_run'><a href='#n81'>81</a></p>
-<p id='n82' class='stm mis'><a href='#n82'>82</a></p>
-<p id='n83' class='stm run hide_run'><a href='#n83'>83</a></p>
-<p id='n84' class='stm run hide_run'><a href='#n84'>84</a></p>
-<p id='n85' class='stm run hide_run'><a href='#n85'>85</a></p>
-<p id='n86' class='stm run hide_run'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='stm run hide_run'><a href='#n88'>88</a></p>
-<p id='n89' class='pln'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='pln'><a href='#n91'>91</a></p>
-<p id='n92' class='pln'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='pln'><a href='#n94'>94</a></p>
-<p id='n95' class='stm run hide_run'><a href='#n95'>95</a></p>
-<p id='n96' class='stm mis'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='stm run hide_run'><a href='#n98'>98</a></p>
-<p id='n99' class='stm run hide_run'><a href='#n99'>99</a></p>
-<p id='n100' class='stm run hide_run'><a href='#n100'>100</a></p>
-<p id='n101' class='pln'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='pln'><a href='#n103'>103</a></p>
-<p id='n104' class='stm run hide_run'><a href='#n104'>104</a></p>
-<p id='n105' class='stm run hide_run'><a href='#n105'>105</a></p>
-<p id='n106' class='stm run hide_run'><a href='#n106'>106</a></p>
-<p id='n107' class='stm run hide_run'><a href='#n107'>107</a></p>
-<p id='n108' class='stm run hide_run'><a href='#n108'>108</a></p>
-<p id='n109' class='pln'><a href='#n109'>109</a></p>
-<p id='n110' class='stm run hide_run'><a href='#n110'>110</a></p>
-<p id='n111' class='pln'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='pln'><a href='#n114'>114</a></p>
-<p id='n115' class='stm run hide_run'><a href='#n115'>115</a></p>
-<p id='n116' class='stm run hide_run'><a href='#n116'>116</a></p>
-<p id='n117' class='stm run hide_run'><a href='#n117'>117</a></p>
-<p id='n118' class='pln'><a href='#n118'>118</a></p>
-<p id='n119' class='stm run hide_run'><a href='#n119'>119</a></p>
-<p id='n120' class='pln'><a href='#n120'>120</a></p>
-<p id='n121' class='pln'><a href='#n121'>121</a></p>
-<p id='n122' class='pln'><a href='#n122'>122</a></p>
-<p id='n123' class='stm run hide_run'><a href='#n123'>123</a></p>
-<p id='n124' class='pln'><a href='#n124'>124</a></p>
-<p id='n125' class='stm run hide_run'><a href='#n125'>125</a></p>
-<p id='n126' class='pln'><a href='#n126'>126</a></p>
-<p id='n127' class='pln'><a href='#n127'>127</a></p>
-<p id='n128' class='pln'><a href='#n128'>128</a></p>
-<p id='n129' class='stm run hide_run'><a href='#n129'>129</a></p>
-<p id='n130' class='stm run hide_run'><a href='#n130'>130</a></p>
-<p id='n131' class='pln'><a href='#n131'>131</a></p>
-<p id='n132' class='stm mis'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='stm run hide_run'><a href='#n134'>134</a></p>
-<p id='n135' class='pln'><a href='#n135'>135</a></p>
-<p id='n136' class='stm run hide_run'><a href='#n136'>136</a></p>
-<p id='n137' class='pln'><a href='#n137'>137</a></p>
-<p id='n138' class='pln'><a href='#n138'>138</a></p>
-<p id='n139' class='stm run hide_run'><a href='#n139'>139</a></p>
-<p id='n140' class='pln'><a href='#n140'>140</a></p>
-<p id='n141' class='pln'><a href='#n141'>141</a></p>
-<p id='n142' class='pln'><a href='#n142'>142</a></p>
-<p id='n143' class='pln'><a href='#n143'>143</a></p>
-<p id='n144' class='pln'><a href='#n144'>144</a></p>
-<p id='n145' class='stm run hide_run'><a href='#n145'>145</a></p>
-<p id='n146' class='pln'><a href='#n146'>146</a></p>
-<p id='n147' class='stm run hide_run'><a href='#n147'>147</a></p>
-<p id='n148' class='stm mis'><a href='#n148'>148</a></p>
-<p id='n149' class='stm mis'><a href='#n149'>149</a></p>
-<p id='n150' class='pln'><a href='#n150'>150</a></p>
-<p id='n151' class='stm mis'><a href='#n151'>151</a></p>
-<p id='n152' class='pln'><a href='#n152'>152</a></p>
-<p id='n153' class='stm mis'><a href='#n153'>153</a></p>
-<p id='n154' class='pln'><a href='#n154'>154</a></p>
-<p id='n155' class='pln'><a href='#n155'>155</a></p>
-<p id='n156' class='pln'><a href='#n156'>156</a></p>
-<p id='n157' class='pln'><a href='#n157'>157</a></p>
-<p id='n158' class='pln'><a href='#n158'>158</a></p>
-<p id='n159' class='stm run hide_run'><a href='#n159'>159</a></p>
-<p id='n160' class='pln'><a href='#n160'>160</a></p>
-<p id='n161' class='pln'><a href='#n161'>161</a></p>
-<p id='n162' class='pln'><a href='#n162'>162</a></p>
-<p id='n163' class='pln'><a href='#n163'>163</a></p>
-<p id='n164' class='pln'><a href='#n164'>164</a></p>
-<p id='n165' class='pln'><a href='#n165'>165</a></p>
-<p id='n166' class='pln'><a href='#n166'>166</a></p>
-<p id='n167' class='stm run hide_run'><a href='#n167'>167</a></p>
-<p id='n168' class='pln'><a href='#n168'>168</a></p>
-<p id='n169' class='stm run hide_run'><a href='#n169'>169</a></p>
-<p id='n170' class='stm run hide_run'><a href='#n170'>170</a></p>
-<p id='n171' class='stm run hide_run'><a href='#n171'>171</a></p>
-<p id='n172' class='pln'><a href='#n172'>172</a></p>
-<p id='n173' class='stm run hide_run'><a href='#n173'>173</a></p>
-<p id='n174' class='pln'><a href='#n174'>174</a></p>
-<p id='n175' class='stm run hide_run'><a href='#n175'>175</a></p>
-<p id='n176' class='pln'><a href='#n176'>176</a></p>
-<p id='n177' class='pln'><a href='#n177'>177</a></p>
-<p id='n178' class='pln'><a href='#n178'>178</a></p>
-<p id='n179' class='pln'><a href='#n179'>179</a></p>
-<p id='n180' class='pln'><a href='#n180'>180</a></p>
-<p id='n181' class='stm run hide_run'><a href='#n181'>181</a></p>
-<p id='n182' class='pln'><a href='#n182'>182</a></p>
-<p id='n183' class='pln'><a href='#n183'>183</a></p>
-<p id='n184' class='pln'><a href='#n184'>184</a></p>
-<p id='n185' class='pln'><a href='#n185'>185</a></p>
-<p id='n186' class='pln'><a href='#n186'>186</a></p>
-<p id='n187' class='pln'><a href='#n187'>187</a></p>
-<p id='n188' class='stm run hide_run'><a href='#n188'>188</a></p>
-<p id='n189' class='pln'><a href='#n189'>189</a></p>
-<p id='n190' class='stm run hide_run'><a href='#n190'>190</a></p>
-<p id='n191' class='pln'><a href='#n191'>191</a></p>
-<p id='n192' class='pln'><a href='#n192'>192</a></p>
-<p id='n193' class='stm run hide_run'><a href='#n193'>193</a></p>
-<p id='n194' class='pln'><a href='#n194'>194</a></p>
-<p id='n195' class='stm run hide_run'><a href='#n195'>195</a></p>
-<p id='n196' class='pln'><a href='#n196'>196</a></p>
-<p id='n197' class='stm run hide_run'><a href='#n197'>197</a></p>
-<p id='n198' class='pln'><a href='#n198'>198</a></p>
-<p id='n199' class='pln'><a href='#n199'>199</a></p>
-<p id='n200' class='stm run hide_run'><a href='#n200'>200</a></p>
-<p id='n201' class='stm run hide_run'><a href='#n201'>201</a></p>
-<p id='n202' class='pln'><a href='#n202'>202</a></p>
-<p id='n203' class='pln'><a href='#n203'>203</a></p>
-<p id='n204' class='pln'><a href='#n204'>204</a></p>
-<p id='n205' class='stm run hide_run'><a href='#n205'>205</a></p>
-<p id='n206' class='stm run hide_run'><a href='#n206'>206</a></p>
-<p id='n207' class='pln'><a href='#n207'>207</a></p>
-<p id='n208' class='pln'><a href='#n208'>208</a></p>
-<p id='n209' class='stm run hide_run'><a href='#n209'>209</a></p>
-<p id='n210' class='pln'><a href='#n210'>210</a></p>
-<p id='n211' class='stm run hide_run'><a href='#n211'>211</a></p>
-<p id='n212' class='pln'><a href='#n212'>212</a></p>
-<p id='n213' class='pln'><a href='#n213'>213</a></p>
-<p id='n214' class='pln'><a href='#n214'>214</a></p>
-<p id='n215' class='pln'><a href='#n215'>215</a></p>
-<p id='n216' class='pln'><a href='#n216'>216</a></p>
-<p id='n217' class='pln'><a href='#n217'>217</a></p>
-<p id='n218' class='stm run hide_run'><a href='#n218'>218</a></p>
-<p id='n219' class='stm mis'><a href='#n219'>219</a></p>
-<p id='n220' class='pln'><a href='#n220'>220</a></p>
-<p id='n221' class='stm run hide_run'><a href='#n221'>221</a></p>
-<p id='n222' class='pln'><a href='#n222'>222</a></p>
-<p id='n223' class='stm run hide_run'><a href='#n223'>223</a></p>
-<p id='n224' class='pln'><a href='#n224'>224</a></p>
-<p id='n225' class='pln'><a href='#n225'>225</a></p>
-<p id='n226' class='pln'><a href='#n226'>226</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Provides various throttling policies.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>cache</span> <span class='key'>import</span> <span class='nam'>cache</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>exceptions</span> <span class='key'>import</span> <span class='nam'>ImproperlyConfigured</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>settings</span> <span class='key'>import</span> <span class='nam'>api_settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>time</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>BaseThrottle</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='str'>&nbsp; &nbsp; Rate throttling of requests.</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>allow_request</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return `True` if the request should be allowed, `False` otherwise.</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>NotImplementedError</span><span class='op'>(</span><span class='str'>&#39;.allow_request() must be overridden&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>wait</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Optionally, return a recommended number of seconds to wait before</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; the next request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>SimpleRateThrottle</span><span class='op'>(</span><span class='nam'>BaseThrottle</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'><span class='str'>&nbsp; &nbsp; A simple cache implementation, that only requires `.get_cache_key()`</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='str'>&nbsp; &nbsp; to be overridden.</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='str'>&nbsp; &nbsp; The rate (requests / seconds) is set by a `throttle` attribute on the View</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'><span class='str'>&nbsp; &nbsp; class.&nbsp; The attribute is a string of the form &#39;number_of_requests/period&#39;.</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='str'>&nbsp; &nbsp; Period should be one of: (&#39;s&#39;, &#39;sec&#39;, &#39;m&#39;, &#39;min&#39;, &#39;h&#39;, &#39;hour&#39;, &#39;d&#39;, &#39;day&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'><span class='str'>&nbsp; &nbsp; Previous request information used for throttling is stored in the cache.</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>timer</span> <span class='op'>=</span> <span class='nam'>time</span><span class='op'>.</span><span class='nam'>time</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>cache_format</span> <span class='op'>=</span> <span class='str'>&#39;throtte_%(scope)s_%(ident)s&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>scope</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>THROTTLE_RATES</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DEFAULT_THROTTLE_RATES</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;rate&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>rate</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_rate</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>num_requests</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>duration</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parse_rate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>rate</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_cache_key</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Should return a unique cache-key which can be used for throttling.</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Must be overridden.</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; May return `None` if the request should not be throttled.</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>NotImplementedError</span><span class='op'>(</span><span class='str'>&#39;.get_cache_key() must be overridden&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_rate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Determine the string representation of the allowed request rate.</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;scope&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='op'>(</span><span class='str'>&quot;You must set either `.scope` or `.rate` for &#39;%s&#39; throttle&quot;</span> <span class='op'>%</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>.</span><span class='nam'>__name__</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ImproperlyConfigured</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>THROTTLE_RATES</span><span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>scope</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>KeyError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>msg</span> <span class='op'>=</span> <span class='str'>&quot;No default throttle rate set for &#39;%s&#39; scope&quot;</span> <span class='op'>%</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>scope</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ImproperlyConfigured</span><span class='op'>(</span><span class='nam'>msg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>parse_rate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>rate</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Given the request rate string, return a two tuple of:</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &lt;allowed number of requests&gt;, &lt;period of time in seconds&gt;</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>rate</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>num</span><span class='op'>,</span> <span class='nam'>period</span> <span class='op'>=</span> <span class='nam'>rate</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='str'>&#39;/&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>num_requests</span> <span class='op'>=</span> <span class='nam'>int</span><span class='op'>(</span><span class='nam'>num</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>duration</span> <span class='op'>=</span> <span class='op'>{</span><span class='str'>&#39;s&#39;</span><span class='op'>:</span> <span class='num'>1</span><span class='op'>,</span> <span class='str'>&#39;m&#39;</span><span class='op'>:</span> <span class='num'>60</span><span class='op'>,</span> <span class='str'>&#39;h&#39;</span><span class='op'>:</span> <span class='num'>3600</span><span class='op'>,</span> <span class='str'>&#39;d&#39;</span><span class='op'>:</span> <span class='num'>86400</span><span class='op'>}</span><span class='op'>[</span><span class='nam'>period</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>num_requests</span><span class='op'>,</span> <span class='nam'>duration</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>allow_request</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Implement the check to see if the request should be throttled.</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; On success calls `throttle_success`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; On failure calls `throttle_failure`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>rate</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>key</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_cache_key</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>history</span> <span class='op'>=</span> <span class='nam'>cache</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>key</span><span class='op'>,</span> <span class='op'>[</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>now</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>timer</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Drop any requests from the history which have now passed the</span><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># throttle duration</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>while</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>history</span> <span class='key'>and</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>history</span><span class='op'>[</span><span class='op'>-</span><span class='num'>1</span><span class='op'>]</span> <span class='op'>&lt;=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>now</span> <span class='op'>-</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>duration</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>history</span><span class='op'>.</span><span class='nam'>pop</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>history</span><span class='op'>)</span> <span class='op'>&gt;=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>num_requests</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>throttle_failure</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>throttle_success</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>throttle_success</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Inserts the current request&#39;s timestamp along with the key</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; into the cache.</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>history</span><span class='op'>.</span><span class='nam'>insert</span><span class='op'>(</span><span class='num'>0</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>now</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cache</span><span class='op'>.</span><span class='nam'>set</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>key</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>history</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>duration</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>throttle_failure</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Called when a request to the API has failed due to throttling.</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>wait</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns the recommended next request time in seconds.</span><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>history</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>remaining_duration</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>duration</span> <span class='op'>-</span> <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>now</span> <span class='op'>-</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>history</span><span class='op'>[</span><span class='op'>-</span><span class='num'>1</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>remaining_duration</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>duration</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>available_requests</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>num_requests</span> <span class='op'>-</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>history</span><span class='op'>)</span> <span class='op'>+</span> <span class='num'>1</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>remaining_duration</span> <span class='op'>/</span> <span class='nam'>float</span><span class='op'>(</span><span class='nam'>available_requests</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>AnonRateThrottle</span><span class='op'>(</span><span class='nam'>SimpleRateThrottle</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='pln'><span class='str'>&nbsp; &nbsp; Limits the rate of API calls that may be made by a anonymous users.</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='pln'><span class='str'>&nbsp; &nbsp; The IP address of the request will be used as the unique cache key.</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>scope</span> <span class='op'>=</span> <span class='str'>&#39;anon&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_cache_key</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span><span class='op'>.</span><span class='nam'>is_authenticated</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>None</span>&nbsp; <span class='com'># Only throttle unauthenticated requests.</span><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ident</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>META</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;REMOTE_ADDR&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cache_format</span> <span class='op'>%</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;scope&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>scope</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;ident&#39;</span><span class='op'>:</span> <span class='nam'>ident</span><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>UserRateThrottle</span><span class='op'>(</span><span class='nam'>SimpleRateThrottle</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='pln'><span class='str'>&nbsp; &nbsp; Limits the rate of API calls that may be made by a given user.</span><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='pln'><span class='str'>&nbsp; &nbsp; The user id will be used as a unique cache key if the user is</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='pln'><span class='str'>&nbsp; &nbsp; authenticated.&nbsp; For anonymous requests, the IP address of the request will</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='pln'><span class='str'>&nbsp; &nbsp; be used.</span><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>scope</span> <span class='op'>=</span> <span class='str'>&#39;user&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_cache_key</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span><span class='op'>.</span><span class='nam'>is_authenticated</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ident</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span><span class='op'>.</span><span class='nam'>id</span><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ident</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>META</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;REMOTE_ADDR&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cache_format</span> <span class='op'>%</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;scope&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>scope</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;ident&#39;</span><span class='op'>:</span> <span class='nam'>ident</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ScopedRateThrottle</span><span class='op'>(</span><span class='nam'>SimpleRateThrottle</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='pln'><span class='str'>&nbsp; &nbsp; Limits the rate of API calls by different amounts for various parts of</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='pln'><span class='str'>&nbsp; &nbsp; the API.&nbsp; Any view that has the `throttle_scope` property set will be</span><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='pln'><span class='str'>&nbsp; &nbsp; throttled.&nbsp; The unique cache key will be generated by concatenating the</span><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='pln'><span class='str'>&nbsp; &nbsp; user id of the request, and the scope of the view being accessed.</span><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>scope_attr</span> <span class='op'>=</span> <span class='str'>&#39;throttle_scope&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Override the usual SimpleRateThrottle, because we can&#39;t determine</span><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># the rate until called by the view.</span><span class='strut'>&nbsp;</span></p>
-<p id='t193' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t194' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t195' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>allow_request</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t196' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We can only determine the scope once we&#39;re called by the view.</span><span class='strut'>&nbsp;</span></p>
-<p id='t197' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>scope</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>scope_attr</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t198' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t199' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If a view does not have a `throttle_scope` always allow the request</span><span class='strut'>&nbsp;</span></p>
-<p id='t200' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>scope</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t201' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t202' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t203' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Determine the allowed request rate as we normally would during</span><span class='strut'>&nbsp;</span></p>
-<p id='t204' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># the `__init__` call.</span><span class='strut'>&nbsp;</span></p>
-<p id='t205' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>rate</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_rate</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t206' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>num_requests</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>duration</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parse_rate</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>rate</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t207' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t208' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We can now proceed as normal.</span><span class='strut'>&nbsp;</span></p>
-<p id='t209' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>ScopedRateThrottle</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>allow_request</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t210' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t211' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_cache_key</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t212' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t213' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If `view.throttle_scope` is not set, don&#39;t apply this throttle.</span><span class='strut'>&nbsp;</span></p>
-<p id='t214' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t215' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Otherwise generate the unique cache key by concatenating the user id</span><span class='strut'>&nbsp;</span></p>
-<p id='t216' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; with the &#39;.throttle_scope` property of the view.</span><span class='strut'>&nbsp;</span></p>
-<p id='t217' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t218' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span><span class='op'>.</span><span class='nam'>is_authenticated</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t219' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ident</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span><span class='op'>.</span><span class='nam'>id</span><span class='strut'>&nbsp;</span></p>
-<p id='t220' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t221' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ident</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>META</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;REMOTE_ADDR&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t222' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t223' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>cache_format</span> <span class='op'>%</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t224' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;scope&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>scope</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t225' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;ident&#39;</span><span class='op'>:</span> <span class='nam'>ident</span><span class='strut'>&nbsp;</span></p>
-<p id='t226' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_urlpatterns.html b/htmlcov/rest_framework_urlpatterns.html
deleted file mode 100644
index 4c824a77..00000000
--- a/htmlcov/rest_framework_urlpatterns.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/urlpatterns: 87%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/urlpatterns</b> :
- <span class='pc_cov'>87%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 31 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>27 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>4 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='stm run hide_run'><a href='#n1'>1</a></p>
-<p id='n2' class='stm run hide_run'><a href='#n2'>2</a></p>
-<p id='n3' class='stm run hide_run'><a href='#n3'>3</a></p>
-<p id='n4' class='stm run hide_run'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='stm run hide_run'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='stm run hide_run'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='stm run hide_run'><a href='#n29'>29</a></p>
-<p id='n30' class='stm run hide_run'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='stm run hide_run'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='stm run hide_run'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-<p id='n54' class='stm mis'><a href='#n54'>54</a></p>
-<p id='n55' class='stm mis'><a href='#n55'>55</a></p>
-<p id='n56' class='pln'><a href='#n56'>56</a></p>
-<p id='n57' class='stm mis'><a href='#n57'>57</a></p>
-<p id='n58' class='stm mis'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='stm run hide_run'><a href='#n60'>60</a></p>
-<p id='n61' class='pln'><a href='#n61'>61</a></p>
-<p id='n62' class='stm run hide_run'><a href='#n62'>62</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>urlresolvers</span> <span class='key'>import</span> <span class='nam'>RegexURLResolver</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>url</span><span class='op'>,</span> <span class='nam'>include</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>settings</span> <span class='key'>import</span> <span class='nam'>api_settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>apply_suffix_patterns</span><span class='op'>(</span><span class='nam'>urlpatterns</span><span class='op'>,</span> <span class='nam'>suffix_pattern</span><span class='op'>,</span> <span class='nam'>suffix_required</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>urlpattern</span> <span class='key'>in</span> <span class='nam'>urlpatterns</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>urlpattern</span><span class='op'>,</span> <span class='nam'>RegexURLResolver</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Set of included URL patterns</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>regex</span> <span class='op'>=</span> <span class='nam'>urlpattern</span><span class='op'>.</span><span class='nam'>regex</span><span class='op'>.</span><span class='nam'>pattern</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>namespace</span> <span class='op'>=</span> <span class='nam'>urlpattern</span><span class='op'>.</span><span class='nam'>namespace</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>app_name</span> <span class='op'>=</span> <span class='nam'>urlpattern</span><span class='op'>.</span><span class='nam'>app_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='nam'>urlpattern</span><span class='op'>.</span><span class='nam'>default_kwargs</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Add in the included patterns, after applying the suffixes</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>patterns</span> <span class='op'>=</span> <span class='nam'>apply_suffix_patterns</span><span class='op'>(</span><span class='nam'>urlpattern</span><span class='op'>.</span><span class='nam'>url_patterns</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>suffix_pattern</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>suffix_required</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>url</span><span class='op'>(</span><span class='nam'>regex</span><span class='op'>,</span> <span class='nam'>include</span><span class='op'>(</span><span class='nam'>patterns</span><span class='op'>,</span> <span class='nam'>namespace</span><span class='op'>,</span> <span class='nam'>app_name</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Regular URL pattern</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>regex</span> <span class='op'>=</span> <span class='nam'>urlpattern</span><span class='op'>.</span><span class='nam'>regex</span><span class='op'>.</span><span class='nam'>pattern</span><span class='op'>.</span><span class='nam'>rstrip</span><span class='op'>(</span><span class='str'>&#39;$&#39;</span><span class='op'>)</span> <span class='op'>+</span> <span class='nam'>suffix_pattern</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span> <span class='op'>=</span> <span class='nam'>urlpattern</span><span class='op'>.</span><span class='nam'>_callback</span> <span class='key'>or</span> <span class='nam'>urlpattern</span><span class='op'>.</span><span class='nam'>_callback_str</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>kwargs</span> <span class='op'>=</span> <span class='nam'>urlpattern</span><span class='op'>.</span><span class='nam'>default_args</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>name</span> <span class='op'>=</span> <span class='nam'>urlpattern</span><span class='op'>.</span><span class='nam'>name</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Add in both the existing and the new urlpattern</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>suffix_required</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>urlpattern</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>url</span><span class='op'>(</span><span class='nam'>regex</span><span class='op'>,</span> <span class='nam'>view</span><span class='op'>,</span> <span class='nam'>kwargs</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>format_suffix_patterns</span><span class='op'>(</span><span class='nam'>urlpatterns</span><span class='op'>,</span> <span class='nam'>suffix_required</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>,</span> <span class='nam'>allowed</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='str'>&nbsp; &nbsp; Supplement existing urlpatterns with corresponding patterns that also</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'><span class='str'>&nbsp; &nbsp; include a &#39;.format&#39; suffix.&nbsp; Retains urlpattern ordering.</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'><span class='str'>&nbsp; &nbsp; urlpatterns:</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; A list of URL patterns.</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'><span class='str'>&nbsp; &nbsp; suffix_required:</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If `True`, only suffixed URLs will be generated, and non-suffixed</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; URLs will not be used.&nbsp; Defaults to `False`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'><span class='str'>&nbsp; &nbsp; allowed:</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; An optional tuple/list of allowed suffixes.&nbsp; eg [&#39;json&#39;, &#39;api&#39;]</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Defaults to `None`, which allows any suffix.</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>suffix_kwarg</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>FORMAT_SUFFIX_KWARG</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>allowed</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>allowed</span><span class='op'>)</span> <span class='op'>==</span> <span class='num'>1</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>allowed_pattern</span> <span class='op'>=</span> <span class='nam'>allowed</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>allowed_pattern</span> <span class='op'>=</span> <span class='str'>&#39;(%s)&#39;</span> <span class='op'>%</span> <span class='str'>&#39;|&#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>allowed</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>suffix_pattern</span> <span class='op'>=</span> <span class='str'>r&#39;\.(?P&lt;%s&gt;%s)$&#39;</span> <span class='op'>%</span> <span class='op'>(</span><span class='nam'>suffix_kwarg</span><span class='op'>,</span> <span class='nam'>allowed_pattern</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'>&nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>suffix_pattern</span> <span class='op'>=</span> <span class='str'>r&#39;\.(?P&lt;%s&gt;[a-z]+)$&#39;</span> <span class='op'>%</span> <span class='nam'>suffix_kwarg</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>apply_suffix_patterns</span><span class='op'>(</span><span class='nam'>urlpatterns</span><span class='op'>,</span> <span class='nam'>suffix_pattern</span><span class='op'>,</span> <span class='nam'>suffix_required</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_urls.html b/htmlcov/rest_framework_urls.html
deleted file mode 100644
index 7720a6d4..00000000
--- a/htmlcov/rest_framework_urls.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/urls: 100%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/urls</b> :
- <span class='pc_cov'>100%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 4 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>4 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>0 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='pln'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='stm run hide_run'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Login and logout views for the browsable API.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>Add these to your root URLconf if you&#39;re using the browsable API and</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>your API requires authentication.</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='str'>The urls must be namespaced as &#39;rest_framework&#39;, and you should make sure</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='str'>your authentication settings include `SessionAuthentication`.</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='str'>&nbsp; &nbsp; urlpatterns = patterns(&#39;&#39;,</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; ...</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; url(r&#39;^auth&#39;, include(&#39;rest_framework.urls&#39;, namespace=&#39;rest_framework&#39;))</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='str'>&nbsp; &nbsp; )</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>patterns</span><span class='op'>,</span> <span class='nam'>url</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'><span class='nam'>template_name</span> <span class='op'>=</span> <span class='op'>{</span><span class='str'>&#39;template_name&#39;</span><span class='op'>:</span> <span class='str'>&#39;rest_framework/login.html&#39;</span><span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'><span class='nam'>urlpatterns</span> <span class='op'>=</span> <span class='nam'>patterns</span><span class='op'>(</span><span class='str'>&#39;django.contrib.auth.views&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'>&nbsp; &nbsp; <span class='nam'>url</span><span class='op'>(</span><span class='str'>r&#39;^login/$&#39;</span><span class='op'>,</span> <span class='str'>&#39;login&#39;</span><span class='op'>,</span> <span class='nam'>template_name</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>=</span><span class='str'>&#39;login&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'>&nbsp; &nbsp; <span class='nam'>url</span><span class='op'>(</span><span class='str'>r&#39;^logout/$&#39;</span><span class='op'>,</span> <span class='str'>&#39;logout&#39;</span><span class='op'>,</span> <span class='nam'>template_name</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>=</span><span class='str'>&#39;logout&#39;</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_utils___init__.html b/htmlcov/rest_framework_utils___init__.html
deleted file mode 100644
index 99eb18c4..00000000
--- a/htmlcov/rest_framework_utils___init__.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/utils/__init__: 100%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/utils/__init__</b> :
- <span class='pc_cov'>100%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 0 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>0 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>0 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-
- </td>
- <td class='text' valign='top'>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_utils_breadcrumbs.html b/htmlcov/rest_framework_utils_breadcrumbs.html
deleted file mode 100644
index 14fb8955..00000000
--- a/htmlcov/rest_framework_utils_breadcrumbs.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/utils/breadcrumbs: 100%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/utils/breadcrumbs</b> :
- <span class='pc_cov'>100%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 27 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>27 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>0 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='stm run hide_run'><a href='#n1'>1</a></p>
-<p id='n2' class='stm run hide_run'><a href='#n2'>2</a></p>
-<p id='n3' class='stm run hide_run'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='pln'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='stm run hide_run'><a href='#n27'>27</a></p>
-<p id='n28' class='stm run hide_run'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='stm run hide_run'><a href='#n32'>32</a></p>
-<p id='n33' class='stm run hide_run'><a href='#n33'>33</a></p>
-<p id='n34' class='stm run hide_run'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='stm run hide_run'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='stm run hide_run'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='stm run hide_run'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='stm run hide_run'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='stm run hide_run'><a href='#n49'>49</a></p>
-<p id='n50' class='stm run hide_run'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>urlresolvers</span> <span class='key'>import</span> <span class='nam'>resolve</span><span class='op'>,</span> <span class='nam'>get_script_prefix</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>formatting</span> <span class='key'>import</span> <span class='nam'>get_view_name</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>get_breadcrumbs</span><span class='op'>(</span><span class='nam'>url</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='str'>&nbsp; &nbsp; Given a url returns a list of breadcrumbs, which are each a</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='pln'><span class='str'>&nbsp; &nbsp; tuple of (name, url).</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>views</span> <span class='key'>import</span> <span class='nam'>APIView</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>breadcrumbs_recursive</span><span class='op'>(</span><span class='nam'>url</span><span class='op'>,</span> <span class='nam'>breadcrumbs_list</span><span class='op'>,</span> <span class='nam'>prefix</span><span class='op'>,</span> <span class='nam'>seen</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Add tuples of (name, url) to the breadcrumbs list,</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; progressively chomping off parts of the url.</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='nam'>unused_args</span><span class='op'>,</span> <span class='nam'>unused_kwargs</span><span class='op'>)</span> <span class='op'>=</span> <span class='nam'>resolve</span><span class='op'>(</span><span class='nam'>url</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>Exception</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Check if this is a REST framework view,</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># and if so add it to the breadcrumbs</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cls</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;cls&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>cls</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>issubclass</span><span class='op'>(</span><span class='nam'>cls</span><span class='op'>,</span> <span class='nam'>APIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Don&#39;t list the same view twice in a row.</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Probably an optional trailing slash.</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>seen</span> <span class='key'>or</span> <span class='nam'>seen</span><span class='op'>[</span><span class='op'>-</span><span class='num'>1</span><span class='op'>]</span> <span class='op'>!=</span> <span class='nam'>view</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>suffix</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='str'>&#39;suffix&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>name</span> <span class='op'>=</span> <span class='nam'>get_view_name</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>.</span><span class='nam'>cls</span><span class='op'>,</span> <span class='nam'>suffix</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>breadcrumbs_list</span><span class='op'>.</span><span class='nam'>insert</span><span class='op'>(</span><span class='num'>0</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>name</span><span class='op'>,</span> <span class='nam'>prefix</span> <span class='op'>+</span> <span class='nam'>url</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>seen</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>url</span> <span class='op'>==</span> <span class='str'>&#39;&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># All done</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>breadcrumbs_list</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>url</span><span class='op'>.</span><span class='nam'>endswith</span><span class='op'>(</span><span class='str'>&#39;/&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Drop trailing slash off the end and continue to try to</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># resolve more breadcrumbs</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>url</span> <span class='op'>=</span> <span class='nam'>url</span><span class='op'>.</span><span class='nam'>rstrip</span><span class='op'>(</span><span class='str'>&#39;/&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>breadcrumbs_recursive</span><span class='op'>(</span><span class='nam'>url</span><span class='op'>,</span> <span class='nam'>breadcrumbs_list</span><span class='op'>,</span> <span class='nam'>prefix</span><span class='op'>,</span> <span class='nam'>seen</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Drop trailing non-slash off the end and continue to try to</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># resolve more breadcrumbs</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>url</span> <span class='op'>=</span> <span class='nam'>url</span><span class='op'>[</span><span class='op'>:</span><span class='nam'>url</span><span class='op'>.</span><span class='nam'>rfind</span><span class='op'>(</span><span class='str'>&#39;/&#39;</span><span class='op'>)</span> <span class='op'>+</span> <span class='num'>1</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>breadcrumbs_recursive</span><span class='op'>(</span><span class='nam'>url</span><span class='op'>,</span> <span class='nam'>breadcrumbs_list</span><span class='op'>,</span> <span class='nam'>prefix</span><span class='op'>,</span> <span class='nam'>seen</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>prefix</span> <span class='op'>=</span> <span class='nam'>get_script_prefix</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>rstrip</span><span class='op'>(</span><span class='str'>&#39;/&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>url</span> <span class='op'>=</span> <span class='nam'>url</span><span class='op'>[</span><span class='nam'>len</span><span class='op'>(</span><span class='nam'>prefix</span><span class='op'>)</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>breadcrumbs_recursive</span><span class='op'>(</span><span class='nam'>url</span><span class='op'>,</span> <span class='op'>[</span><span class='op'>]</span><span class='op'>,</span> <span class='nam'>prefix</span><span class='op'>,</span> <span class='op'>[</span><span class='op'>]</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_utils_encoders.html b/htmlcov/rest_framework_utils_encoders.html
deleted file mode 100644
index 9f0ca343..00000000
--- a/htmlcov/rest_framework_utils_encoders.html
+++ /dev/null
@@ -1,275 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/utils/encoders: 73%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/utils/encoders</b> :
- <span class='pc_cov'>73%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 70 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>51 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>19 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='stm run hide_run'><a href='#n4'>4</a></p>
-<p id='n5' class='stm run hide_run'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='stm run hide_run'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='stm run hide_run'><a href='#n25'>25</a></p>
-<p id='n26' class='stm mis'><a href='#n26'>26</a></p>
-<p id='n27' class='stm mis'><a href='#n27'>27</a></p>
-<p id='n28' class='stm mis'><a href='#n28'>28</a></p>
-<p id='n29' class='stm mis'><a href='#n29'>29</a></p>
-<p id='n30' class='stm mis'><a href='#n30'>30</a></p>
-<p id='n31' class='stm mis'><a href='#n31'>31</a></p>
-<p id='n32' class='stm run hide_run'><a href='#n32'>32</a></p>
-<p id='n33' class='stm run hide_run'><a href='#n33'>33</a></p>
-<p id='n34' class='stm run hide_run'><a href='#n34'>34</a></p>
-<p id='n35' class='stm mis'><a href='#n35'>35</a></p>
-<p id='n36' class='stm mis'><a href='#n36'>36</a></p>
-<p id='n37' class='stm mis'><a href='#n37'>37</a></p>
-<p id='n38' class='stm mis'><a href='#n38'>38</a></p>
-<p id='n39' class='stm mis'><a href='#n39'>39</a></p>
-<p id='n40' class='stm mis'><a href='#n40'>40</a></p>
-<p id='n41' class='stm run hide_run'><a href='#n41'>41</a></p>
-<p id='n42' class='stm mis'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='stm run hide_run'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='stm run hide_run'><a href='#n46'>46</a></p>
-<p id='n47' class='stm mis'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='stm run hide_run'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='stm mis'><a href='#n52'>52</a></p>
-<p id='n53' class='stm mis'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='stm run hide_run'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='pln'><a href='#n61'>61</a></p>
-<p id='n62' class='stm run hide_run'><a href='#n62'>62</a></p>
-<p id='n63' class='stm mis'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='stm run hide_run'><a href='#n66'>66</a></p>
-<p id='n67' class='stm run hide_run'><a href='#n67'>67</a></p>
-<p id='n68' class='stm run hide_run'><a href='#n68'>68</a></p>
-<p id='n69' class='stm run hide_run'><a href='#n69'>69</a></p>
-<p id='n70' class='stm run hide_run'><a href='#n70'>70</a></p>
-<p id='n71' class='stm run hide_run'><a href='#n71'>71</a></p>
-<p id='n72' class='stm run hide_run'><a href='#n72'>72</a></p>
-<p id='n73' class='stm run hide_run'><a href='#n73'>73</a></p>
-<p id='n74' class='stm run hide_run'><a href='#n74'>74</a></p>
-<p id='n75' class='stm run hide_run'><a href='#n75'>75</a></p>
-<p id='n76' class='stm run hide_run'><a href='#n76'>76</a></p>
-<p id='n77' class='stm run hide_run'><a href='#n77'>77</a></p>
-<p id='n78' class='stm run hide_run'><a href='#n78'>78</a></p>
-<p id='n79' class='stm mis'><a href='#n79'>79</a></p>
-<p id='n80' class='stm run hide_run'><a href='#n80'>80</a></p>
-<p id='n81' class='stm run hide_run'><a href='#n81'>81</a></p>
-<p id='n82' class='stm run hide_run'><a href='#n82'>82</a></p>
-<p id='n83' class='stm run hide_run'><a href='#n83'>83</a></p>
-<p id='n84' class='stm run hide_run'><a href='#n84'>84</a></p>
-<p id='n85' class='stm mis'><a href='#n85'>85</a></p>
-<p id='n86' class='pln'><a href='#n86'>86</a></p>
-<p id='n87' class='stm run hide_run'><a href='#n87'>87</a></p>
-<p id='n88' class='stm run hide_run'><a href='#n88'>88</a></p>
-<p id='n89' class='pln'><a href='#n89'>89</a></p>
-<p id='n90' class='stm run hide_run'><a href='#n90'>90</a></p>
-<p id='n91' class='pln'><a href='#n91'>91</a></p>
-<p id='n92' class='stm run hide_run'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='stm run hide_run'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='stm run hide_run'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Helper classes for parsers.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>datastructures</span> <span class='key'>import</span> <span class='nam'>SortedDict</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>functional</span> <span class='key'>import</span> <span class='nam'>Promise</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>timezone</span><span class='op'>,</span> <span class='nam'>force_text</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>serializers</span> <span class='key'>import</span> <span class='nam'>DictWithMetadata</span><span class='op'>,</span> <span class='nam'>SortedDictWithMetadata</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>datetime</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>decimal</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>types</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>json</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>JSONEncoder</span><span class='op'>(</span><span class='nam'>json</span><span class='op'>.</span><span class='nam'>JSONEncoder</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='str'>&nbsp; &nbsp; JSONEncoder subclass that knows how to encode date/time/timedelta,</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'><span class='str'>&nbsp; &nbsp; decimal types, and generators.</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>default</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>o</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># For Date Time string spec, see ECMA 262</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># http://ecma-international.org/ecma-262/5.1/#sec-15.9.1.15</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>,</span> <span class='nam'>Promise</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>force_text</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>,</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>datetime</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>r</span> <span class='op'>=</span> <span class='nam'>o</span><span class='op'>.</span><span class='nam'>isoformat</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>o</span><span class='op'>.</span><span class='nam'>microsecond</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>r</span> <span class='op'>=</span> <span class='nam'>r</span><span class='op'>[</span><span class='op'>:</span><span class='num'>23</span><span class='op'>]</span> <span class='op'>+</span> <span class='nam'>r</span><span class='op'>[</span><span class='num'>26</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>r</span><span class='op'>.</span><span class='nam'>endswith</span><span class='op'>(</span><span class='str'>&#39;+00:00&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>r</span> <span class='op'>=</span> <span class='nam'>r</span><span class='op'>[</span><span class='op'>:</span><span class='op'>-</span><span class='num'>6</span><span class='op'>]</span> <span class='op'>+</span> <span class='str'>&#39;Z&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>r</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>,</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>date</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>o</span><span class='op'>.</span><span class='nam'>isoformat</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>,</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>time</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>timezone</span> <span class='key'>and</span> <span class='nam'>timezone</span><span class='op'>.</span><span class='nam'>is_aware</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>ValueError</span><span class='op'>(</span><span class='str'>&quot;JSON can&#39;t represent timezone-aware times.&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>r</span> <span class='op'>=</span> <span class='nam'>o</span><span class='op'>.</span><span class='nam'>isoformat</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>o</span><span class='op'>.</span><span class='nam'>microsecond</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>r</span> <span class='op'>=</span> <span class='nam'>r</span><span class='op'>[</span><span class='op'>:</span><span class='num'>12</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>r</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>,</span> <span class='nam'>datetime</span><span class='op'>.</span><span class='nam'>timedelta</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>str</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>.</span><span class='nam'>total_seconds</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>,</span> <span class='nam'>decimal</span><span class='op'>.</span><span class='nam'>Decimal</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>str</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>,</span> <span class='str'>&#39;__iter__&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>i</span> <span class='key'>for</span> <span class='nam'>i</span> <span class='key'>in</span> <span class='nam'>o</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>JSONEncoder</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>default</span><span class='op'>(</span><span class='nam'>o</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm run hide_run'><span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>import</span> <span class='nam'>yaml</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm mis'><span class='key'>except</span> <span class='nam'>ImportError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm mis'>&nbsp; &nbsp; <span class='nam'>SafeDumper</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'><span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'>&nbsp; &nbsp; <span class='com'># Adapted from http://pyyaml.org/attachment/ticket/161/use_ordered_dict.py</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>class</span> <span class='nam'>SafeDumper</span><span class='op'>(</span><span class='nam'>yaml</span><span class='op'>.</span><span class='nam'>SafeDumper</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Handles decimals as strings.</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Handles SortedDicts as usual dicts, but preserves field order, rather</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; than the usual behaviour of sorting the keys.</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>represent_decimal</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>data</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>represent_scalar</span><span class='op'>(</span><span class='str'>&#39;tag:yaml.org,2002:str&#39;</span><span class='op'>,</span> <span class='nam'>str</span><span class='op'>(</span><span class='nam'>data</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>represent_mapping</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>tag</span><span class='op'>,</span> <span class='nam'>mapping</span><span class='op'>,</span> <span class='nam'>flow_style</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>node</span> <span class='op'>=</span> <span class='nam'>yaml</span><span class='op'>.</span><span class='nam'>MappingNode</span><span class='op'>(</span><span class='nam'>tag</span><span class='op'>,</span> <span class='nam'>value</span><span class='op'>,</span> <span class='nam'>flow_style</span><span class='op'>=</span><span class='nam'>flow_style</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>alias_key</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>represented_objects</span><span class='op'>[</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>alias_key</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>node</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>best_style</span> <span class='op'>=</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>mapping</span><span class='op'>,</span> <span class='str'>&#39;items&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mapping</span> <span class='op'>=</span> <span class='nam'>list</span><span class='op'>(</span><span class='nam'>mapping</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>mapping</span><span class='op'>,</span> <span class='nam'>SortedDict</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mapping</span><span class='op'>.</span><span class='nam'>sort</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>item_key</span><span class='op'>,</span> <span class='nam'>item_value</span> <span class='key'>in</span> <span class='nam'>mapping</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>node_key</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>represent_data</span><span class='op'>(</span><span class='nam'>item_key</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>node_value</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>represent_data</span><span class='op'>(</span><span class='nam'>item_value</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='op'>(</span><span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>node_key</span><span class='op'>,</span> <span class='nam'>yaml</span><span class='op'>.</span><span class='nam'>ScalarNode</span><span class='op'>)</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>node_key</span><span class='op'>.</span><span class='nam'>style</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>best_style</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='op'>(</span><span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>node_value</span><span class='op'>,</span> <span class='nam'>yaml</span><span class='op'>.</span><span class='nam'>ScalarNode</span><span class='op'>)</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>node_value</span><span class='op'>.</span><span class='nam'>style</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>best_style</span> <span class='op'>=</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>value</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='op'>(</span><span class='nam'>node_key</span><span class='op'>,</span> <span class='nam'>node_value</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>flow_style</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_flow_style</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>node</span><span class='op'>.</span><span class='nam'>flow_style</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_flow_style</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>node</span><span class='op'>.</span><span class='nam'>flow_style</span> <span class='op'>=</span> <span class='nam'>best_style</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>node</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>SafeDumper</span><span class='op'>.</span><span class='nam'>add_representer</span><span class='op'>(</span><span class='nam'>SortedDict</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>yaml</span><span class='op'>.</span><span class='nam'>representer</span><span class='op'>.</span><span class='nam'>SafeRepresenter</span><span class='op'>.</span><span class='nam'>represent_dict</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>SafeDumper</span><span class='op'>.</span><span class='nam'>add_representer</span><span class='op'>(</span><span class='nam'>DictWithMetadata</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>yaml</span><span class='op'>.</span><span class='nam'>representer</span><span class='op'>.</span><span class='nam'>SafeRepresenter</span><span class='op'>.</span><span class='nam'>represent_dict</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>SafeDumper</span><span class='op'>.</span><span class='nam'>add_representer</span><span class='op'>(</span><span class='nam'>SortedDictWithMetadata</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>yaml</span><span class='op'>.</span><span class='nam'>representer</span><span class='op'>.</span><span class='nam'>SafeRepresenter</span><span class='op'>.</span><span class='nam'>represent_dict</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>SafeDumper</span><span class='op'>.</span><span class='nam'>add_representer</span><span class='op'>(</span><span class='nam'>types</span><span class='op'>.</span><span class='nam'>GeneratorType</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>yaml</span><span class='op'>.</span><span class='nam'>representer</span><span class='op'>.</span><span class='nam'>SafeRepresenter</span><span class='op'>.</span><span class='nam'>represent_list</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_utils_formatting.html b/htmlcov/rest_framework_utils_formatting.html
deleted file mode 100644
index 54e1570f..00000000
--- a/htmlcov/rest_framework_utils_formatting.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/utils/formatting: 97%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/utils/formatting</b> :
- <span class='pc_cov'>97%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 39 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>38 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>1 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='stm run hide_run'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='stm run hide_run'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='pln'><a href='#n26'>26</a></p>
-<p id='n27' class='stm run hide_run'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='stm run hide_run'><a href='#n31'>31</a></p>
-<p id='n32' class='stm run hide_run'><a href='#n32'>32</a></p>
-<p id='n33' class='stm run hide_run'><a href='#n33'>33</a></p>
-<p id='n34' class='stm run hide_run'><a href='#n34'>34</a></p>
-<p id='n35' class='stm run hide_run'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='stm run hide_run'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='pln'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='stm run hide_run'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='pln'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='stm run hide_run'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='stm run hide_run'><a href='#n55'>55</a></p>
-<p id='n56' class='stm run hide_run'><a href='#n56'>56</a></p>
-<p id='n57' class='stm run hide_run'><a href='#n57'>57</a></p>
-<p id='n58' class='stm run hide_run'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='pln'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='stm run hide_run'><a href='#n66'>66</a></p>
-<p id='n67' class='stm run hide_run'><a href='#n67'>67</a></p>
-<p id='n68' class='stm run hide_run'><a href='#n68'>68</a></p>
-<p id='n69' class='stm run hide_run'><a href='#n69'>69</a></p>
-<p id='n70' class='pln'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='stm run hide_run'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='pln'><a href='#n75'>75</a></p>
-<p id='n76' class='stm run hide_run'><a href='#n76'>76</a></p>
-<p id='n77' class='stm run hide_run'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='stm mis'><a href='#n79'>79</a></p>
-<p id='n80' class='stm run hide_run'><a href='#n80'>80</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Utility functions to return a formatted name and description for a given view.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>html</span> <span class='key'>import</span> <span class='nam'>escape</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>safestring</span> <span class='key'>import</span> <span class='nam'>mark_safe</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>apply_markdown</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>re</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>_remove_trailing_string</span><span class='op'>(</span><span class='nam'>content</span><span class='op'>,</span> <span class='nam'>trailing</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='str'>&nbsp; &nbsp; Strip trailing component `trailing` from `content` if it exists.</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='str'>&nbsp; &nbsp; Used when generating names from view classes.</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>content</span><span class='op'>.</span><span class='nam'>endswith</span><span class='op'>(</span><span class='nam'>trailing</span><span class='op'>)</span> <span class='key'>and</span> <span class='nam'>content</span> <span class='op'>!=</span> <span class='nam'>trailing</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>content</span><span class='op'>[</span><span class='op'>:</span><span class='op'>-</span><span class='nam'>len</span><span class='op'>(</span><span class='nam'>trailing</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>content</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>_remove_leading_indent</span><span class='op'>(</span><span class='nam'>content</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='str'>&nbsp; &nbsp; Remove leading indent from a block of text.</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='str'>&nbsp; &nbsp; Used when generating descriptions from docstrings.</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>whitespace_counts</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>len</span><span class='op'>(</span><span class='nam'>line</span><span class='op'>)</span> <span class='op'>-</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>line</span><span class='op'>.</span><span class='nam'>lstrip</span><span class='op'>(</span><span class='str'>&#39; &#39;</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='key'>for</span> <span class='nam'>line</span> <span class='key'>in</span> <span class='nam'>content</span><span class='op'>.</span><span class='nam'>splitlines</span><span class='op'>(</span><span class='op'>)</span><span class='op'>[</span><span class='num'>1</span><span class='op'>:</span><span class='op'>]</span> <span class='key'>if</span> <span class='nam'>line</span><span class='op'>.</span><span class='nam'>lstrip</span><span class='op'>(</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'>&nbsp; &nbsp; <span class='com'># unindent the content if needed</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>whitespace_counts</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>whitespace_pattern</span> <span class='op'>=</span> <span class='str'>&#39;^&#39;</span> <span class='op'>+</span> <span class='op'>(</span><span class='str'>&#39; &#39;</span> <span class='op'>*</span> <span class='nam'>min</span><span class='op'>(</span><span class='nam'>whitespace_counts</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>content</span> <span class='op'>=</span> <span class='nam'>re</span><span class='op'>.</span><span class='nam'>sub</span><span class='op'>(</span><span class='nam'>re</span><span class='op'>.</span><span class='nam'>compile</span><span class='op'>(</span><span class='nam'>whitespace_pattern</span><span class='op'>,</span> <span class='nam'>re</span><span class='op'>.</span><span class='nam'>MULTILINE</span><span class='op'>)</span><span class='op'>,</span> <span class='str'>&#39;&#39;</span><span class='op'>,</span> <span class='nam'>content</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>content</span> <span class='op'>=</span> <span class='nam'>content</span><span class='op'>.</span><span class='nam'>strip</span><span class='op'>(</span><span class='str'>&#39;\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>content</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>_camelcase_to_spaces</span><span class='op'>(</span><span class='nam'>content</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='pln'><span class='str'>&nbsp; &nbsp; Translate &#39;CamelCaseNames&#39; to &#39;Camel Case Names&#39;.</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'><span class='str'>&nbsp; &nbsp; Used when generating names from view classes.</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>camelcase_boundry</span> <span class='op'>=</span> <span class='str'>&#39;(((?&lt;=[a-z])[A-Z])|([A-Z](?![A-Z]|$)))&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>content</span> <span class='op'>=</span> <span class='nam'>re</span><span class='op'>.</span><span class='nam'>sub</span><span class='op'>(</span><span class='nam'>camelcase_boundry</span><span class='op'>,</span> <span class='str'>&#39; \\1&#39;</span><span class='op'>,</span> <span class='nam'>content</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>strip</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39; &#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>content</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='str'>&#39;_&#39;</span><span class='op'>)</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>title</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>get_view_name</span><span class='op'>(</span><span class='nam'>cls</span><span class='op'>,</span> <span class='nam'>suffix</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'><span class='str'>&nbsp; &nbsp; Return a formatted name for an `APIView` class or `@api_view` function.</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>name</span> <span class='op'>=</span> <span class='nam'>cls</span><span class='op'>.</span><span class='nam'>__name__</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>name</span> <span class='op'>=</span> <span class='nam'>_remove_trailing_string</span><span class='op'>(</span><span class='nam'>name</span><span class='op'>,</span> <span class='str'>&#39;View&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>name</span> <span class='op'>=</span> <span class='nam'>_remove_trailing_string</span><span class='op'>(</span><span class='nam'>name</span><span class='op'>,</span> <span class='str'>&#39;ViewSet&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>name</span> <span class='op'>=</span> <span class='nam'>_camelcase_to_spaces</span><span class='op'>(</span><span class='nam'>name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>suffix</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>name</span> <span class='op'>+=</span> <span class='str'>&#39; &#39;</span> <span class='op'>+</span> <span class='nam'>suffix</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>name</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>get_view_description</span><span class='op'>(</span><span class='nam'>cls</span><span class='op'>,</span> <span class='nam'>html</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='pln'><span class='str'>&nbsp; &nbsp; Return a description for an `APIView` class or `@api_view` function.</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>description</span> <span class='op'>=</span> <span class='nam'>cls</span><span class='op'>.</span><span class='nam'>__doc__</span> <span class='key'>or</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>description</span> <span class='op'>=</span> <span class='nam'>_remove_leading_indent</span><span class='op'>(</span><span class='nam'>description</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>html</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>markup_description</span><span class='op'>(</span><span class='nam'>description</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>description</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>markup_description</span><span class='op'>(</span><span class='nam'>description</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'><span class='str'>&nbsp; &nbsp; Apply HTML markup to the given description.</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>apply_markdown</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>description</span> <span class='op'>=</span> <span class='nam'>apply_markdown</span><span class='op'>(</span><span class='nam'>description</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'>&nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>description</span> <span class='op'>=</span> <span class='nam'>escape</span><span class='op'>(</span><span class='nam'>description</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>&#39;\n&#39;</span><span class='op'>,</span> <span class='str'>&#39;&lt;br /&gt;&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>mark_safe</span><span class='op'>(</span><span class='nam'>description</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_utils_mediatypes.html b/htmlcov/rest_framework_utils_mediatypes.html
deleted file mode 100644
index 2ce44ab5..00000000
--- a/htmlcov/rest_framework_utils_mediatypes.html
+++ /dev/null
@@ -1,257 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/utils/mediatypes: 77%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/utils/mediatypes</b> :
- <span class='pc_cov'>77%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 44 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>34 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>10 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='pln'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='pln'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='pln'><a href='#n21'>21</a></p>
-<p id='n22' class='pln'><a href='#n22'>22</a></p>
-<p id='n23' class='pln'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='stm run hide_run'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='stm run hide_run'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='stm run hide_run'><a href='#n39'>39</a></p>
-<p id='n40' class='stm run hide_run'><a href='#n40'>40</a></p>
-<p id='n41' class='stm run hide_run'><a href='#n41'>41</a></p>
-<p id='n42' class='stm run hide_run'><a href='#n42'>42</a></p>
-<p id='n43' class='stm run hide_run'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='stm run hide_run'><a href='#n46'>46</a></p>
-<p id='n47' class='stm run hide_run'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='stm mis'><a href='#n49'>49</a></p>
-<p id='n50' class='stm run hide_run'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='stm run hide_run'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='stm run hide_run'><a href='#n56'>56</a></p>
-<p id='n57' class='stm mis'><a href='#n57'>57</a></p>
-<p id='n58' class='stm mis'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='stm run hide_run'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='stm mis'><a href='#n64'>64</a></p>
-<p id='n65' class='pln'><a href='#n65'>65</a></p>
-<p id='n66' class='stm run hide_run'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='stm run hide_run'><a href='#n68'>68</a></p>
-<p id='n69' class='pln'><a href='#n69'>69</a></p>
-<p id='n70' class='pln'><a href='#n70'>70</a></p>
-<p id='n71' class='pln'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='stm run hide_run'><a href='#n73'>73</a></p>
-<p id='n74' class='stm run hide_run'><a href='#n74'>74</a></p>
-<p id='n75' class='stm run hide_run'><a href='#n75'>75</a></p>
-<p id='n76' class='stm mis'><a href='#n76'>76</a></p>
-<p id='n77' class='stm run hide_run'><a href='#n77'>77</a></p>
-<p id='n78' class='stm run hide_run'><a href='#n78'>78</a></p>
-<p id='n79' class='stm run hide_run'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='stm run hide_run'><a href='#n81'>81</a></p>
-<p id='n82' class='stm mis'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='stm run hide_run'><a href='#n84'>84</a></p>
-<p id='n85' class='stm mis'><a href='#n85'>85</a></p>
-<p id='n86' class='stm mis'><a href='#n86'>86</a></p>
-<p id='n87' class='stm mis'><a href='#n87'>87</a></p>
-<p id='n88' class='stm mis'><a href='#n88'>88</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Handling of media types, as found in HTTP Content-Type and Accept headers.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>See http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.7</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>http</span><span class='op'>.</span><span class='nam'>multipartparser</span> <span class='key'>import</span> <span class='nam'>parse_header</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>HTTP_HEADER_ENCODING</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>media_type_matches</span><span class='op'>(</span><span class='nam'>lhs</span><span class='op'>,</span> <span class='nam'>rhs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='str'>&nbsp; &nbsp; Returns ``True`` if the media type in the first argument &lt;= the</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='str'>&nbsp; &nbsp; media type in the second argument.&nbsp; The media types are strings</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='str'>&nbsp; &nbsp; as described by the HTTP spec.</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='str'>&nbsp; &nbsp; Valid media type strings include:</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='pln'><span class='str'>&nbsp; &nbsp; &#39;application/json; indent=4&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='str'>&nbsp; &nbsp; &#39;application/json&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='pln'><span class='str'>&nbsp; &nbsp; &#39;text/*&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='pln'><span class='str'>&nbsp; &nbsp; &#39;*/*&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>lhs</span> <span class='op'>=</span> <span class='nam'>_MediaType</span><span class='op'>(</span><span class='nam'>lhs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>rhs</span> <span class='op'>=</span> <span class='nam'>_MediaType</span><span class='op'>(</span><span class='nam'>rhs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>lhs</span><span class='op'>.</span><span class='nam'>match</span><span class='op'>(</span><span class='nam'>rhs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='stm run hide_run'><span class='key'>def</span> <span class='nam'>order_by_precedence</span><span class='op'>(</span><span class='nam'>media_type_lst</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'><span class='str'>&nbsp; &nbsp; Returns a list of sets of media type strings, ordered by precedence.</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='str'>&nbsp; &nbsp; Precedence is determined by how specific a media type is:</span><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='str'>&nbsp; &nbsp; 3. &#39;type/subtype; param=val&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'><span class='str'>&nbsp; &nbsp; 2. &#39;type/subtype&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'><span class='str'>&nbsp; &nbsp; 1. &#39;type/*&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='str'>&nbsp; &nbsp; 0. &#39;*/*&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>set</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>set</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>set</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>set</span><span class='op'>(</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>media_type</span> <span class='key'>in</span> <span class='nam'>media_type_lst</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>precedence</span> <span class='op'>=</span> <span class='nam'>_MediaType</span><span class='op'>(</span><span class='nam'>media_type</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>precedence</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='num'>3</span> <span class='op'>-</span> <span class='nam'>precedence</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>add</span><span class='op'>(</span><span class='nam'>media_type</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>media_types</span> <span class='key'>for</span> <span class='nam'>media_types</span> <span class='key'>in</span> <span class='nam'>ret</span> <span class='key'>if</span> <span class='nam'>media_types</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>_MediaType</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__init__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>media_type_str</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>media_type_str</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>media_type_str</span> <span class='op'>=</span> <span class='str'>&#39;&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>orig</span> <span class='op'>=</span> <span class='nam'>media_type_str</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>full_type</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>params</span> <span class='op'>=</span> <span class='nam'>parse_header</span><span class='op'>(</span><span class='nam'>media_type_str</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='nam'>HTTP_HEADER_ENCODING</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>main_type</span><span class='op'>,</span> <span class='nam'>sep</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sub_type</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>full_type</span><span class='op'>.</span><span class='nam'>partition</span><span class='op'>(</span><span class='str'>&#39;/&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>match</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>other</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;Return true if this MediaType satisfies the given MediaType.&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>params</span><span class='op'>.</span><span class='nam'>keys</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>key</span> <span class='op'>!=</span> <span class='str'>&#39;q&#39;</span> <span class='key'>and</span> <span class='nam'>other</span><span class='op'>.</span><span class='nam'>params</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>key</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span> <span class='op'>!=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>params</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>key</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sub_type</span> <span class='op'>!=</span> <span class='str'>&#39;*&#39;</span> <span class='key'>and</span> <span class='nam'>other</span><span class='op'>.</span><span class='nam'>sub_type</span> <span class='op'>!=</span> <span class='str'>&#39;*&#39;</span>&nbsp; <span class='key'>and</span> <span class='nam'>other</span><span class='op'>.</span><span class='nam'>sub_type</span> <span class='op'>!=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sub_type</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>main_type</span> <span class='op'>!=</span> <span class='str'>&#39;*&#39;</span> <span class='key'>and</span> <span class='nam'>other</span><span class='op'>.</span><span class='nam'>main_type</span> <span class='op'>!=</span> <span class='str'>&#39;*&#39;</span> <span class='key'>and</span> <span class='nam'>other</span><span class='op'>.</span><span class='nam'>main_type</span> <span class='op'>!=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>main_type</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>False</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>True</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>precedence</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return a precedence level from 0-3 for the media type given how specific it is.</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>main_type</span> <span class='op'>==</span> <span class='str'>&#39;*&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='num'>0</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sub_type</span> <span class='op'>==</span> <span class='str'>&#39;*&#39;</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='num'>1</span><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>params</span> <span class='key'>or</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>params</span><span class='op'>.</span><span class='nam'>keys</span><span class='op'>(</span><span class='op'>)</span> <span class='op'>==</span> <span class='op'>[</span><span class='str'>&#39;q&#39;</span><span class='op'>]</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='num'>2</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='num'>3</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__str__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>unicode</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='str'>&#39;utf-8&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__unicode__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='str'>&quot;%s/%s&quot;</span> <span class='op'>%</span> <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>main_type</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>sub_type</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span><span class='op'>,</span> <span class='nam'>val</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>params</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>+=</span> <span class='str'>&quot;; %s=%s&quot;</span> <span class='op'>%</span> <span class='op'>(</span><span class='nam'>key</span><span class='op'>,</span> <span class='nam'>val</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_views.html b/htmlcov/rest_framework_views.html
deleted file mode 100644
index f836e71f..00000000
--- a/htmlcov/rest_framework_views.html
+++ /dev/null
@@ -1,793 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/views: 100%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/views</b> :
- <span class='pc_cov'>100%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 146 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>146 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>0 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='stm run hide_run'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='stm run hide_run'><a href='#n6'>6</a></p>
-<p id='n7' class='stm run hide_run'><a href='#n7'>7</a></p>
-<p id='n8' class='stm run hide_run'><a href='#n8'>8</a></p>
-<p id='n9' class='stm run hide_run'><a href='#n9'>9</a></p>
-<p id='n10' class='stm run hide_run'><a href='#n10'>10</a></p>
-<p id='n11' class='stm run hide_run'><a href='#n11'>11</a></p>
-<p id='n12' class='stm run hide_run'><a href='#n12'>12</a></p>
-<p id='n13' class='stm run hide_run'><a href='#n13'>13</a></p>
-<p id='n14' class='stm run hide_run'><a href='#n14'>14</a></p>
-<p id='n15' class='stm run hide_run'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='stm run hide_run'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='stm run hide_run'><a href='#n24'>24</a></p>
-<p id='n25' class='stm run hide_run'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='stm run hide_run'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='stm run hide_run'><a href='#n36'>36</a></p>
-<p id='n37' class='stm run hide_run'><a href='#n37'>37</a></p>
-<p id='n38' class='stm run hide_run'><a href='#n38'>38</a></p>
-<p id='n39' class='pln'><a href='#n39'>39</a></p>
-<p id='n40' class='stm run hide_run'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='stm run hide_run'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='stm run hide_run'><a href='#n47'>47</a></p>
-<p id='n48' class='pln'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='pln'><a href='#n52'>52</a></p>
-<p id='n53' class='pln'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='stm run hide_run'><a href='#n56'>56</a></p>
-<p id='n57' class='pln'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='pln'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='stm run hide_run'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='pln'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='stm run hide_run'><a href='#n67'>67</a></p>
-<p id='n68' class='stm run hide_run'><a href='#n68'>68</a></p>
-<p id='n69' class='stm run hide_run'><a href='#n69'>69</a></p>
-<p id='n70' class='pln'><a href='#n70'>70</a></p>
-<p id='n71' class='stm run hide_run'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='pln'><a href='#n74'>74</a></p>
-<p id='n75' class='stm run hide_run'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='stm run hide_run'><a href='#n77'>77</a></p>
-<p id='n78' class='pln'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='pln'><a href='#n81'>81</a></p>
-<p id='n82' class='stm run hide_run'><a href='#n82'>82</a></p>
-<p id='n83' class='stm run hide_run'><a href='#n83'>83</a></p>
-<p id='n84' class='stm run hide_run'><a href='#n84'>84</a></p>
-<p id='n85' class='pln'><a href='#n85'>85</a></p>
-<p id='n86' class='stm run hide_run'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='pln'><a href='#n88'>88</a></p>
-<p id='n89' class='pln'><a href='#n89'>89</a></p>
-<p id='n90' class='pln'><a href='#n90'>90</a></p>
-<p id='n91' class='pln'><a href='#n91'>91</a></p>
-<p id='n92' class='pln'><a href='#n92'>92</a></p>
-<p id='n93' class='stm run hide_run'><a href='#n93'>93</a></p>
-<p id='n94' class='pln'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='pln'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='stm run hide_run'><a href='#n99'>99</a></p>
-<p id='n100' class='pln'><a href='#n100'>100</a></p>
-<p id='n101' class='pln'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='pln'><a href='#n103'>103</a></p>
-<p id='n104' class='pln'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='stm run hide_run'><a href='#n106'>106</a></p>
-<p id='n107' class='pln'><a href='#n107'>107</a></p>
-<p id='n108' class='pln'><a href='#n108'>108</a></p>
-<p id='n109' class='pln'><a href='#n109'>109</a></p>
-<p id='n110' class='pln'><a href='#n110'>110</a></p>
-<p id='n111' class='pln'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='pln'><a href='#n114'>114</a></p>
-<p id='n115' class='stm run hide_run'><a href='#n115'>115</a></p>
-<p id='n116' class='pln'><a href='#n116'>116</a></p>
-<p id='n117' class='pln'><a href='#n117'>117</a></p>
-<p id='n118' class='pln'><a href='#n118'>118</a></p>
-<p id='n119' class='stm run hide_run'><a href='#n119'>119</a></p>
-<p id='n120' class='stm run hide_run'><a href='#n120'>120</a></p>
-<p id='n121' class='pln'><a href='#n121'>121</a></p>
-<p id='n122' class='stm run hide_run'><a href='#n122'>122</a></p>
-<p id='n123' class='pln'><a href='#n123'>123</a></p>
-<p id='n124' class='pln'><a href='#n124'>124</a></p>
-<p id='n125' class='pln'><a href='#n125'>125</a></p>
-<p id='n126' class='stm run hide_run'><a href='#n126'>126</a></p>
-<p id='n127' class='pln'><a href='#n127'>127</a></p>
-<p id='n128' class='stm run hide_run'><a href='#n128'>128</a></p>
-<p id='n129' class='pln'><a href='#n129'>129</a></p>
-<p id='n130' class='pln'><a href='#n130'>130</a></p>
-<p id='n131' class='pln'><a href='#n131'>131</a></p>
-<p id='n132' class='stm run hide_run'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='stm run hide_run'><a href='#n134'>134</a></p>
-<p id='n135' class='pln'><a href='#n135'>135</a></p>
-<p id='n136' class='pln'><a href='#n136'>136</a></p>
-<p id='n137' class='pln'><a href='#n137'>137</a></p>
-<p id='n138' class='stm run hide_run'><a href='#n138'>138</a></p>
-<p id='n139' class='pln'><a href='#n139'>139</a></p>
-<p id='n140' class='stm run hide_run'><a href='#n140'>140</a></p>
-<p id='n141' class='pln'><a href='#n141'>141</a></p>
-<p id='n142' class='pln'><a href='#n142'>142</a></p>
-<p id='n143' class='pln'><a href='#n143'>143</a></p>
-<p id='n144' class='stm run hide_run'><a href='#n144'>144</a></p>
-<p id='n145' class='pln'><a href='#n145'>145</a></p>
-<p id='n146' class='stm run hide_run'><a href='#n146'>146</a></p>
-<p id='n147' class='pln'><a href='#n147'>147</a></p>
-<p id='n148' class='pln'><a href='#n148'>148</a></p>
-<p id='n149' class='pln'><a href='#n149'>149</a></p>
-<p id='n150' class='stm run hide_run'><a href='#n150'>150</a></p>
-<p id='n151' class='pln'><a href='#n151'>151</a></p>
-<p id='n152' class='stm run hide_run'><a href='#n152'>152</a></p>
-<p id='n153' class='pln'><a href='#n153'>153</a></p>
-<p id='n154' class='pln'><a href='#n154'>154</a></p>
-<p id='n155' class='pln'><a href='#n155'>155</a></p>
-<p id='n156' class='stm run hide_run'><a href='#n156'>156</a></p>
-<p id='n157' class='stm run hide_run'><a href='#n157'>157</a></p>
-<p id='n158' class='stm run hide_run'><a href='#n158'>158</a></p>
-<p id='n159' class='pln'><a href='#n159'>159</a></p>
-<p id='n160' class='pln'><a href='#n160'>160</a></p>
-<p id='n161' class='pln'><a href='#n161'>161</a></p>
-<p id='n162' class='stm run hide_run'><a href='#n162'>162</a></p>
-<p id='n163' class='pln'><a href='#n163'>163</a></p>
-<p id='n164' class='pln'><a href='#n164'>164</a></p>
-<p id='n165' class='pln'><a href='#n165'>165</a></p>
-<p id='n166' class='stm run hide_run'><a href='#n166'>166</a></p>
-<p id='n167' class='stm run hide_run'><a href='#n167'>167</a></p>
-<p id='n168' class='pln'><a href='#n168'>168</a></p>
-<p id='n169' class='stm run hide_run'><a href='#n169'>169</a></p>
-<p id='n170' class='stm run hide_run'><a href='#n170'>170</a></p>
-<p id='n171' class='stm run hide_run'><a href='#n171'>171</a></p>
-<p id='n172' class='stm run hide_run'><a href='#n172'>172</a></p>
-<p id='n173' class='stm run hide_run'><a href='#n173'>173</a></p>
-<p id='n174' class='stm run hide_run'><a href='#n174'>174</a></p>
-<p id='n175' class='pln'><a href='#n175'>175</a></p>
-<p id='n176' class='stm run hide_run'><a href='#n176'>176</a></p>
-<p id='n177' class='pln'><a href='#n177'>177</a></p>
-<p id='n178' class='pln'><a href='#n178'>178</a></p>
-<p id='n179' class='pln'><a href='#n179'>179</a></p>
-<p id='n180' class='pln'><a href='#n180'>180</a></p>
-<p id='n181' class='pln'><a href='#n181'>181</a></p>
-<p id='n182' class='pln'><a href='#n182'>182</a></p>
-<p id='n183' class='pln'><a href='#n183'>183</a></p>
-<p id='n184' class='stm run hide_run'><a href='#n184'>184</a></p>
-<p id='n185' class='pln'><a href='#n185'>185</a></p>
-<p id='n186' class='stm run hide_run'><a href='#n186'>186</a></p>
-<p id='n187' class='pln'><a href='#n187'>187</a></p>
-<p id='n188' class='pln'><a href='#n188'>188</a></p>
-<p id='n189' class='pln'><a href='#n189'>189</a></p>
-<p id='n190' class='pln'><a href='#n190'>190</a></p>
-<p id='n191' class='stm run hide_run'><a href='#n191'>191</a></p>
-<p id='n192' class='stm run hide_run'><a href='#n192'>192</a></p>
-<p id='n193' class='stm run hide_run'><a href='#n193'>193</a></p>
-<p id='n194' class='pln'><a href='#n194'>194</a></p>
-<p id='n195' class='stm run hide_run'><a href='#n195'>195</a></p>
-<p id='n196' class='pln'><a href='#n196'>196</a></p>
-<p id='n197' class='pln'><a href='#n197'>197</a></p>
-<p id='n198' class='pln'><a href='#n198'>198</a></p>
-<p id='n199' class='pln'><a href='#n199'>199</a></p>
-<p id='n200' class='stm run hide_run'><a href='#n200'>200</a></p>
-<p id='n201' class='stm run hide_run'><a href='#n201'>201</a></p>
-<p id='n202' class='stm run hide_run'><a href='#n202'>202</a></p>
-<p id='n203' class='pln'><a href='#n203'>203</a></p>
-<p id='n204' class='stm run hide_run'><a href='#n204'>204</a></p>
-<p id='n205' class='pln'><a href='#n205'>205</a></p>
-<p id='n206' class='pln'><a href='#n206'>206</a></p>
-<p id='n207' class='pln'><a href='#n207'>207</a></p>
-<p id='n208' class='pln'><a href='#n208'>208</a></p>
-<p id='n209' class='stm run hide_run'><a href='#n209'>209</a></p>
-<p id='n210' class='stm run hide_run'><a href='#n210'>210</a></p>
-<p id='n211' class='stm run hide_run'><a href='#n211'>211</a></p>
-<p id='n212' class='pln'><a href='#n212'>212</a></p>
-<p id='n213' class='pln'><a href='#n213'>213</a></p>
-<p id='n214' class='pln'><a href='#n214'>214</a></p>
-<p id='n215' class='stm run hide_run'><a href='#n215'>215</a></p>
-<p id='n216' class='pln'><a href='#n216'>216</a></p>
-<p id='n217' class='pln'><a href='#n217'>217</a></p>
-<p id='n218' class='pln'><a href='#n218'>218</a></p>
-<p id='n219' class='stm run hide_run'><a href='#n219'>219</a></p>
-<p id='n220' class='pln'><a href='#n220'>220</a></p>
-<p id='n221' class='stm run hide_run'><a href='#n221'>221</a></p>
-<p id='n222' class='pln'><a href='#n222'>222</a></p>
-<p id='n223' class='pln'><a href='#n223'>223</a></p>
-<p id='n224' class='pln'><a href='#n224'>224</a></p>
-<p id='n225' class='pln'><a href='#n225'>225</a></p>
-<p id='n226' class='pln'><a href='#n226'>226</a></p>
-<p id='n227' class='stm run hide_run'><a href='#n227'>227</a></p>
-<p id='n228' class='pln'><a href='#n228'>228</a></p>
-<p id='n229' class='pln'><a href='#n229'>229</a></p>
-<p id='n230' class='pln'><a href='#n230'>230</a></p>
-<p id='n231' class='stm run hide_run'><a href='#n231'>231</a></p>
-<p id='n232' class='pln'><a href='#n232'>232</a></p>
-<p id='n233' class='pln'><a href='#n233'>233</a></p>
-<p id='n234' class='stm run hide_run'><a href='#n234'>234</a></p>
-<p id='n235' class='stm run hide_run'><a href='#n235'>235</a></p>
-<p id='n236' class='stm run hide_run'><a href='#n236'>236</a></p>
-<p id='n237' class='pln'><a href='#n237'>237</a></p>
-<p id='n238' class='pln'><a href='#n238'>238</a></p>
-<p id='n239' class='stm run hide_run'><a href='#n239'>239</a></p>
-<p id='n240' class='stm run hide_run'><a href='#n240'>240</a></p>
-<p id='n241' class='pln'><a href='#n241'>241</a></p>
-<p id='n242' class='stm run hide_run'><a href='#n242'>242</a></p>
-<p id='n243' class='pln'><a href='#n243'>243</a></p>
-<p id='n244' class='pln'><a href='#n244'>244</a></p>
-<p id='n245' class='pln'><a href='#n245'>245</a></p>
-<p id='n246' class='pln'><a href='#n246'>246</a></p>
-<p id='n247' class='stm run hide_run'><a href='#n247'>247</a></p>
-<p id='n248' class='pln'><a href='#n248'>248</a></p>
-<p id='n249' class='pln'><a href='#n249'>249</a></p>
-<p id='n250' class='pln'><a href='#n250'>250</a></p>
-<p id='n251' class='pln'><a href='#n251'>251</a></p>
-<p id='n252' class='stm run hide_run'><a href='#n252'>252</a></p>
-<p id='n253' class='stm run hide_run'><a href='#n253'>253</a></p>
-<p id='n254' class='stm run hide_run'><a href='#n254'>254</a></p>
-<p id='n255' class='stm run hide_run'><a href='#n255'>255</a></p>
-<p id='n256' class='pln'><a href='#n256'>256</a></p>
-<p id='n257' class='stm run hide_run'><a href='#n257'>257</a></p>
-<p id='n258' class='stm run hide_run'><a href='#n258'>258</a></p>
-<p id='n259' class='stm run hide_run'><a href='#n259'>259</a></p>
-<p id='n260' class='pln'><a href='#n260'>260</a></p>
-<p id='n261' class='stm run hide_run'><a href='#n261'>261</a></p>
-<p id='n262' class='stm run hide_run'><a href='#n262'>262</a></p>
-<p id='n263' class='pln'><a href='#n263'>263</a></p>
-<p id='n264' class='stm run hide_run'><a href='#n264'>264</a></p>
-<p id='n265' class='pln'><a href='#n265'>265</a></p>
-<p id='n266' class='stm run hide_run'><a href='#n266'>266</a></p>
-<p id='n267' class='pln'><a href='#n267'>267</a></p>
-<p id='n268' class='pln'><a href='#n268'>268</a></p>
-<p id='n269' class='pln'><a href='#n269'>269</a></p>
-<p id='n270' class='pln'><a href='#n270'>270</a></p>
-<p id='n271' class='stm run hide_run'><a href='#n271'>271</a></p>
-<p id='n272' class='pln'><a href='#n272'>272</a></p>
-<p id='n273' class='stm run hide_run'><a href='#n273'>273</a></p>
-<p id='n274' class='pln'><a href='#n274'>274</a></p>
-<p id='n275' class='stm run hide_run'><a href='#n275'>275</a></p>
-<p id='n276' class='pln'><a href='#n276'>276</a></p>
-<p id='n277' class='pln'><a href='#n277'>277</a></p>
-<p id='n278' class='stm run hide_run'><a href='#n278'>278</a></p>
-<p id='n279' class='pln'><a href='#n279'>279</a></p>
-<p id='n280' class='stm run hide_run'><a href='#n280'>280</a></p>
-<p id='n281' class='stm run hide_run'><a href='#n281'>281</a></p>
-<p id='n282' class='pln'><a href='#n282'>282</a></p>
-<p id='n283' class='stm run hide_run'><a href='#n283'>283</a></p>
-<p id='n284' class='pln'><a href='#n284'>284</a></p>
-<p id='n285' class='stm run hide_run'><a href='#n285'>285</a></p>
-<p id='n286' class='stm run hide_run'><a href='#n286'>286</a></p>
-<p id='n287' class='pln'><a href='#n287'>287</a></p>
-<p id='n288' class='pln'><a href='#n288'>288</a></p>
-<p id='n289' class='stm run hide_run'><a href='#n289'>289</a></p>
-<p id='n290' class='stm run hide_run'><a href='#n290'>290</a></p>
-<p id='n291' class='pln'><a href='#n291'>291</a></p>
-<p id='n292' class='pln'><a href='#n292'>292</a></p>
-<p id='n293' class='stm run hide_run'><a href='#n293'>293</a></p>
-<p id='n294' class='stm run hide_run'><a href='#n294'>294</a></p>
-<p id='n295' class='pln'><a href='#n295'>295</a></p>
-<p id='n296' class='pln'><a href='#n296'>296</a></p>
-<p id='n297' class='stm run hide_run'><a href='#n297'>297</a></p>
-<p id='n298' class='pln'><a href='#n298'>298</a></p>
-<p id='n299' class='pln'><a href='#n299'>299</a></p>
-<p id='n300' class='pln'><a href='#n300'>300</a></p>
-<p id='n301' class='stm run hide_run'><a href='#n301'>301</a></p>
-<p id='n302' class='pln'><a href='#n302'>302</a></p>
-<p id='n303' class='pln'><a href='#n303'>303</a></p>
-<p id='n304' class='pln'><a href='#n304'>304</a></p>
-<p id='n305' class='pln'><a href='#n305'>305</a></p>
-<p id='n306' class='pln'><a href='#n306'>306</a></p>
-<p id='n307' class='stm run hide_run'><a href='#n307'>307</a></p>
-<p id='n308' class='stm run hide_run'><a href='#n308'>308</a></p>
-<p id='n309' class='stm run hide_run'><a href='#n309'>309</a></p>
-<p id='n310' class='stm run hide_run'><a href='#n310'>310</a></p>
-<p id='n311' class='stm run hide_run'><a href='#n311'>311</a></p>
-<p id='n312' class='pln'><a href='#n312'>312</a></p>
-<p id='n313' class='stm run hide_run'><a href='#n313'>313</a></p>
-<p id='n314' class='stm run hide_run'><a href='#n314'>314</a></p>
-<p id='n315' class='pln'><a href='#n315'>315</a></p>
-<p id='n316' class='pln'><a href='#n316'>316</a></p>
-<p id='n317' class='stm run hide_run'><a href='#n317'>317</a></p>
-<p id='n318' class='stm run hide_run'><a href='#n318'>318</a></p>
-<p id='n319' class='pln'><a href='#n319'>319</a></p>
-<p id='n320' class='pln'><a href='#n320'>320</a></p>
-<p id='n321' class='stm run hide_run'><a href='#n321'>321</a></p>
-<p id='n322' class='pln'><a href='#n322'>322</a></p>
-<p id='n323' class='stm run hide_run'><a href='#n323'>323</a></p>
-<p id='n324' class='pln'><a href='#n324'>324</a></p>
-<p id='n325' class='stm run hide_run'><a href='#n325'>325</a></p>
-<p id='n326' class='stm run hide_run'><a href='#n326'>326</a></p>
-<p id='n327' class='pln'><a href='#n327'>327</a></p>
-<p id='n328' class='stm run hide_run'><a href='#n328'>328</a></p>
-<p id='n329' class='stm run hide_run'><a href='#n329'>329</a></p>
-<p id='n330' class='pln'><a href='#n330'>330</a></p>
-<p id='n331' class='stm run hide_run'><a href='#n331'>331</a></p>
-<p id='n332' class='pln'><a href='#n332'>332</a></p>
-<p id='n333' class='pln'><a href='#n333'>333</a></p>
-<p id='n334' class='pln'><a href='#n334'>334</a></p>
-<p id='n335' class='pln'><a href='#n335'>335</a></p>
-<p id='n336' class='pln'><a href='#n336'>336</a></p>
-<p id='n337' class='stm run hide_run'><a href='#n337'>337</a></p>
-<p id='n338' class='pln'><a href='#n338'>338</a></p>
-<p id='n339' class='stm run hide_run'><a href='#n339'>339</a></p>
-<p id='n340' class='pln'><a href='#n340'>340</a></p>
-<p id='n341' class='pln'><a href='#n341'>341</a></p>
-<p id='n342' class='pln'><a href='#n342'>342</a></p>
-<p id='n343' class='pln'><a href='#n343'>343</a></p>
-<p id='n344' class='pln'><a href='#n344'>344</a></p>
-<p id='n345' class='pln'><a href='#n345'>345</a></p>
-<p id='n346' class='stm run hide_run'><a href='#n346'>346</a></p>
-<p id='n347' class='pln'><a href='#n347'>347</a></p>
-<p id='n348' class='pln'><a href='#n348'>348</a></p>
-<p id='n349' class='pln'><a href='#n349'>349</a></p>
-<p id='n350' class='pln'><a href='#n350'>350</a></p>
-<p id='n351' class='stm run hide_run'><a href='#n351'>351</a></p>
-<p id='n352' class='stm run hide_run'><a href='#n352'>352</a></p>
-<p id='n353' class='stm run hide_run'><a href='#n353'>353</a></p>
-<p id='n354' class='stm run hide_run'><a href='#n354'>354</a></p>
-<p id='n355' class='stm run hide_run'><a href='#n355'>355</a></p>
-<p id='n356' class='stm run hide_run'><a href='#n356'>356</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>Provides an APIView class that is the base of all views in REST framework.</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>core</span><span class='op'>.</span><span class='nam'>exceptions</span> <span class='key'>import</span> <span class='nam'>PermissionDenied</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>http</span> <span class='key'>import</span> <span class='nam'>Http404</span><span class='op'>,</span> <span class='nam'>HttpResponse</span><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>datastructures</span> <span class='key'>import</span> <span class='nam'>SortedDict</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>views</span><span class='op'>.</span><span class='nam'>decorators</span><span class='op'>.</span><span class='nam'>csrf</span> <span class='key'>import</span> <span class='nam'>csrf_exempt</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>status</span><span class='op'>,</span> <span class='nam'>exceptions</span><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>compat</span> <span class='key'>import</span> <span class='nam'>View</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>request</span> <span class='key'>import</span> <span class='nam'>Request</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>response</span> <span class='key'>import</span> <span class='nam'>Response</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>settings</span> <span class='key'>import</span> <span class='nam'>api_settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>formatting</span> <span class='key'>import</span> <span class='nam'>get_view_name</span><span class='op'>,</span> <span class='nam'>get_view_description</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>APIView</span><span class='op'>(</span><span class='nam'>View</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>settings</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>renderer_classes</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DEFAULT_RENDERER_CLASSES</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>parser_classes</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DEFAULT_PARSER_CLASSES</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>authentication_classes</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DEFAULT_AUTHENTICATION_CLASSES</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>throttle_classes</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DEFAULT_THROTTLE_CLASSES</span><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>permission_classes</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DEFAULT_PERMISSION_CLASSES</span><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>content_negotiation_class</span> <span class='op'>=</span> <span class='nam'>api_settings</span><span class='op'>.</span><span class='nam'>DEFAULT_CONTENT_NEGOTIATION_CLASS</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>classmethod</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>as_view</span><span class='op'>(</span><span class='nam'>cls</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>initkwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Store the original class on the view function.</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This allows us to discover information about the view when we do URL</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; reverse lookups.&nbsp; Used for breadcrumb generation.</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span> <span class='op'>=</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>APIView</span><span class='op'>,</span> <span class='nam'>cls</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>as_view</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>initkwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span><span class='op'>.</span><span class='nam'>cls</span> <span class='op'>=</span> <span class='nam'>cls</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>view</span><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>allowed_methods</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Wrap Django&#39;s private `_allowed_methods` interface in a public property.</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_allowed_methods</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>property</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>default_response_headers</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># TODO: deprecate?</span><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># TODO: Only vary by accept if multiple renderers</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Allow&#39;</span><span class='op'>:</span> <span class='str'>&#39;, &#39;</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>allowed_methods</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Vary&#39;</span><span class='op'>:</span> <span class='str'>&#39;Accept&#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>http_method_not_allowed</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If `request.method` does not correspond to a handler method,</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; determine what kind of exception to raise.</span><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>MethodNotAllowed</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>method</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>permission_denied</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If request is not permitted, determine what kind of exception to raise.</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>successful_authenticator</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>NotAuthenticated</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>PermissionDenied</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>throttled</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>wait</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If request is throttled, determine what kind of exception to raise.</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>Throttled</span><span class='op'>(</span><span class='nam'>wait</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_authenticate_header</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If a request is unauthenticated, determine the WWW-Authenticate</span><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; header to use for 401 responses, if any.</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>authenticators</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_authenticators</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>authenticators</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>authenticators</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>authenticate_header</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_parser_context</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>http_request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a dict that is passed through to Parser.parse(),</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; as the `parser_context` keyword argument.</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Note: Additionally `request` will also be added to the context</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'>#&nbsp; &nbsp; &nbsp;&nbsp; by the Request object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;view&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;args&#39;</span><span class='op'>:</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;args&#39;</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;kwargs&#39;</span><span class='op'>:</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;kwargs&#39;</span><span class='op'>,</span> <span class='op'>{</span><span class='op'>}</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_renderer_context</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns a dict that is passed through to Renderer.render(),</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; as the `renderer_context` keyword argument.</span><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Note: Additionally &#39;response&#39; will also be added to the context,</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'>#&nbsp; &nbsp; &nbsp;&nbsp; by the Response object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>{</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;view&#39;</span><span class='op'>:</span> <span class='nam'>self</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;args&#39;</span><span class='op'>:</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;args&#39;</span><span class='op'>,</span> <span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;kwargs&#39;</span><span class='op'>:</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;kwargs&#39;</span><span class='op'>,</span> <span class='op'>{</span><span class='op'>}</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;request&#39;</span><span class='op'>:</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;request&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>}</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'>&nbsp; &nbsp; <span class='com'># API policy instantiation methods</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_format_suffix</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Determine if the request includes a &#39;.json&#39; style format suffix</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>settings</span><span class='op'>.</span><span class='nam'>FORMAT_SUFFIX_KWARG</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>kwargs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>settings</span><span class='op'>.</span><span class='nam'>FORMAT_SUFFIX_KWARG</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_renderers</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Instantiates and returns the list of renderers that this view can use.</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>renderer</span><span class='op'>(</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>renderer</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>renderer_classes</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_parsers</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Instantiates and returns the list of parsers that this view can use.</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>parser</span><span class='op'>(</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>parser</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parser_classes</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_authenticators</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Instantiates and returns the list of authenticators that this view can use.</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>auth</span><span class='op'>(</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>auth</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>authentication_classes</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t140' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_permissions</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t141' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t142' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Instantiates and returns the list of permissions that this view requires.</span><span class='strut'>&nbsp;</span></p>
-<p id='t143' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t144' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>permission</span><span class='op'>(</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>permission</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>permission_classes</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t145' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t146' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_throttles</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t147' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t148' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Instantiates and returns the list of throttles that this view uses.</span><span class='strut'>&nbsp;</span></p>
-<p id='t149' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t150' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>throttle</span><span class='op'>(</span><span class='op'>)</span> <span class='key'>for</span> <span class='nam'>throttle</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>throttle_classes</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t151' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t152' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>get_content_negotiator</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t153' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t154' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Instantiate and return the content negotiation class to use.</span><span class='strut'>&nbsp;</span></p>
-<p id='t155' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t156' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;_negotiator&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t157' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_negotiator</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>content_negotiation_class</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t158' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>_negotiator</span><span class='strut'>&nbsp;</span></p>
-<p id='t159' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t160' class='pln'>&nbsp; &nbsp; <span class='com'># API policy implementation methods</span><span class='strut'>&nbsp;</span></p>
-<p id='t161' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t162' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>perform_content_negotiation</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>force</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t163' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t164' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Determine which renderer and media type to use render the response.</span><span class='strut'>&nbsp;</span></p>
-<p id='t165' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t166' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>renderers</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_renderers</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t167' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>conneg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_content_negotiator</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t168' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t169' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t170' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>conneg</span><span class='op'>.</span><span class='nam'>select_renderer</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>renderers</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format_kwarg</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t171' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>Exception</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t172' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>force</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t173' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>renderers</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>,</span> <span class='nam'>renderers</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>.</span><span class='nam'>media_type</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t174' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span><span class='strut'>&nbsp;</span></p>
-<p id='t175' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t176' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>perform_authentication</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t177' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t178' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Perform authentication on the incoming request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t179' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t180' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Note that if you override this and simply &#39;pass&#39;, then authentication</span><span class='strut'>&nbsp;</span></p>
-<p id='t181' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; will instead be performed lazily, the first time either</span><span class='strut'>&nbsp;</span></p>
-<p id='t182' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; `request.user` or `request.auth` is accessed.</span><span class='strut'>&nbsp;</span></p>
-<p id='t183' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t184' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span><span class='op'>.</span><span class='nam'>user</span><span class='strut'>&nbsp;</span></p>
-<p id='t185' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t186' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>check_permissions</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t187' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t188' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Check if the request should be permitted.</span><span class='strut'>&nbsp;</span></p>
-<p id='t189' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Raises an appropriate exception if the request is not permitted.</span><span class='strut'>&nbsp;</span></p>
-<p id='t190' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t191' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>permission</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_permissions</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t192' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>permission</span><span class='op'>.</span><span class='nam'>has_permission</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t193' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>permission_denied</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t194' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t195' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>check_object_permissions</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t196' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t197' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Check if the request should be permitted for a given object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t198' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Raises an appropriate exception if the request is not permitted.</span><span class='strut'>&nbsp;</span></p>
-<p id='t199' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t200' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>permission</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_permissions</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t201' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>permission</span><span class='op'>.</span><span class='nam'>has_object_permission</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>,</span> <span class='nam'>obj</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t202' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>permission_denied</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t203' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t204' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>check_throttles</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t205' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t206' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Check if request should be throttled.</span><span class='strut'>&nbsp;</span></p>
-<p id='t207' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Raises an appropriate exception if the request is throttled.</span><span class='strut'>&nbsp;</span></p>
-<p id='t208' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t209' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>throttle</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_throttles</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t210' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>throttle</span><span class='op'>.</span><span class='nam'>allow_request</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t211' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>throttled</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>throttle</span><span class='op'>.</span><span class='nam'>wait</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t212' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t213' class='pln'>&nbsp; &nbsp; <span class='com'># Dispatch methods</span><span class='strut'>&nbsp;</span></p>
-<p id='t214' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t215' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>initialize_request</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t216' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t217' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns the initial request object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t218' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t219' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parser_context</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_parser_context</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t220' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t221' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Request</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t222' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>parsers</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_parsers</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t223' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>authenticators</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_authenticators</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t224' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>negotiator</span><span class='op'>=</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_content_negotiator</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t225' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>parser_context</span><span class='op'>=</span><span class='nam'>parser_context</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t226' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t227' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>initial</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t228' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t229' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Runs anything that needs to occur prior to calling the method handler.</span><span class='strut'>&nbsp;</span></p>
-<p id='t230' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t231' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>format_kwarg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_format_suffix</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t232' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t233' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Ensure that the incoming request is permitted</span><span class='strut'>&nbsp;</span></p>
-<p id='t234' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>perform_authentication</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t235' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>check_permissions</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t236' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>check_throttles</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t237' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t238' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Perform content negotiation and store the accepted info on the request</span><span class='strut'>&nbsp;</span></p>
-<p id='t239' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>neg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>perform_content_negotiation</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t240' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span><span class='op'>.</span><span class='nam'>accepted_renderer</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>accepted_media_type</span> <span class='op'>=</span> <span class='nam'>neg</span><span class='strut'>&nbsp;</span></p>
-<p id='t241' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t242' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>finalize_response</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='nam'>response</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t243' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t244' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Returns the final response object.</span><span class='strut'>&nbsp;</span></p>
-<p id='t245' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t246' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Make the error obvious if a proper response is not returned</span><span class='strut'>&nbsp;</span></p>
-<p id='t247' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>assert</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>response</span><span class='op'>,</span> <span class='nam'>HttpResponse</span><span class='op'>)</span><span class='op'>,</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t248' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;Expected a `Response` to be returned from the view, &#39;</span><span class='strut'>&nbsp;</span></p>
-<p id='t249' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&#39;but received a `%s`&#39;</span> <span class='op'>%</span> <span class='nam'>type</span><span class='op'>(</span><span class='nam'>response</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t250' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t251' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t252' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>response</span><span class='op'>,</span> <span class='nam'>Response</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t253' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='str'>&#39;accepted_renderer&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t254' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>neg</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>perform_content_negotiation</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>force</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t255' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span><span class='op'>.</span><span class='nam'>accepted_renderer</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>accepted_media_type</span> <span class='op'>=</span> <span class='nam'>neg</span><span class='strut'>&nbsp;</span></p>
-<p id='t256' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t257' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>response</span><span class='op'>.</span><span class='nam'>accepted_renderer</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>accepted_renderer</span><span class='strut'>&nbsp;</span></p>
-<p id='t258' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>response</span><span class='op'>.</span><span class='nam'>accepted_media_type</span> <span class='op'>=</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>accepted_media_type</span><span class='strut'>&nbsp;</span></p>
-<p id='t259' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>response</span><span class='op'>.</span><span class='nam'>renderer_context</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_renderer_context</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t260' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t261' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span><span class='op'>,</span> <span class='nam'>value</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>headers</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t262' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>response</span><span class='op'>[</span><span class='nam'>key</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>value</span><span class='strut'>&nbsp;</span></p>
-<p id='t263' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t264' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>response</span><span class='strut'>&nbsp;</span></p>
-<p id='t265' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t266' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>handle_exception</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>exc</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t267' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t268' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Handle any exception that occurs, by returning an appropriate response,</span><span class='strut'>&nbsp;</span></p>
-<p id='t269' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; or re-raising the error.</span><span class='strut'>&nbsp;</span></p>
-<p id='t270' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t271' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>exc</span><span class='op'>,</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>Throttled</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t272' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Throttle wait header</span><span class='strut'>&nbsp;</span></p>
-<p id='t273' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>headers</span><span class='op'>[</span><span class='str'>&#39;X-Throttle-Wait-Seconds&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='str'>&#39;%d&#39;</span> <span class='op'>%</span> <span class='nam'>exc</span><span class='op'>.</span><span class='nam'>wait</span><span class='strut'>&nbsp;</span></p>
-<p id='t274' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t275' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>exc</span><span class='op'>,</span> <span class='op'>(</span><span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>NotAuthenticated</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t276' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>AuthenticationFailed</span><span class='op'>)</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t277' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># WWW-Authenticate header for 401 responses, else coerce to 403</span><span class='strut'>&nbsp;</span></p>
-<p id='t278' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>auth_header</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get_authenticate_header</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>request</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t279' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t280' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>auth_header</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t281' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>headers</span><span class='op'>[</span><span class='str'>&#39;WWW-Authenticate&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>auth_header</span><span class='strut'>&nbsp;</span></p>
-<p id='t282' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t283' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>exc</span><span class='op'>.</span><span class='nam'>status_code</span> <span class='op'>=</span> <span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_403_FORBIDDEN</span><span class='strut'>&nbsp;</span></p>
-<p id='t284' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t285' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>exc</span><span class='op'>,</span> <span class='nam'>exceptions</span><span class='op'>.</span><span class='nam'>APIException</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t286' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='op'>{</span><span class='str'>&#39;detail&#39;</span><span class='op'>:</span> <span class='nam'>exc</span><span class='op'>.</span><span class='nam'>detail</span><span class='op'>}</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t287' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>status</span><span class='op'>=</span><span class='nam'>exc</span><span class='op'>.</span><span class='nam'>status_code</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t288' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>exception</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t289' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>exc</span><span class='op'>,</span> <span class='nam'>Http404</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t290' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='op'>{</span><span class='str'>&#39;detail&#39;</span><span class='op'>:</span> <span class='str'>&#39;Not found&#39;</span><span class='op'>}</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t291' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>status</span><span class='op'>=</span><span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_404_NOT_FOUND</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t292' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>exception</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t293' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>exc</span><span class='op'>,</span> <span class='nam'>PermissionDenied</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t294' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='op'>{</span><span class='str'>&#39;detail&#39;</span><span class='op'>:</span> <span class='str'>&#39;Permission denied&#39;</span><span class='op'>}</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t295' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>status</span><span class='op'>=</span><span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_403_FORBIDDEN</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t296' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>exception</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t297' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span><span class='strut'>&nbsp;</span></p>
-<p id='t298' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t299' class='pln'>&nbsp; &nbsp; <span class='com'># Note: session based authentication is explicitly CSRF validated,</span><span class='strut'>&nbsp;</span></p>
-<p id='t300' class='pln'>&nbsp; &nbsp; <span class='com'># all other authentication is CSRF exempt.</span><span class='strut'>&nbsp;</span></p>
-<p id='t301' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>csrf_exempt</span><span class='strut'>&nbsp;</span></p>
-<p id='t302' class='pln'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>dispatch</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t303' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t304' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; `.dispatch()` is pretty much the same as Django&#39;s regular dispatch,</span><span class='strut'>&nbsp;</span></p>
-<p id='t305' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; but with extra hooks for startup, finalize, and exception handling.</span><span class='strut'>&nbsp;</span></p>
-<p id='t306' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t307' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>args</span> <span class='op'>=</span> <span class='nam'>args</span><span class='strut'>&nbsp;</span></p>
-<p id='t308' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>kwargs</span> <span class='op'>=</span> <span class='nam'>kwargs</span><span class='strut'>&nbsp;</span></p>
-<p id='t309' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>initialize_request</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t310' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>request</span><span class='strut'>&nbsp;</span></p>
-<p id='t311' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>headers</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>default_response_headers</span>&nbsp; <span class='com'># deprecate?</span><span class='strut'>&nbsp;</span></p>
-<p id='t312' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t313' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t314' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>initial</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t315' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t316' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Get the appropriate handler method</span><span class='strut'>&nbsp;</span></p>
-<p id='t317' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>method</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>http_method_names</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t318' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>handler</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>.</span><span class='nam'>method</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t319' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>http_method_not_allowed</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t320' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t321' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>handler</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>http_method_not_allowed</span><span class='strut'>&nbsp;</span></p>
-<p id='t322' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t323' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>response</span> <span class='op'>=</span> <span class='nam'>handler</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t324' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t325' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>except</span> <span class='nam'>Exception</span> <span class='key'>as</span> <span class='nam'>exc</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t326' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>response</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>handle_exception</span><span class='op'>(</span><span class='nam'>exc</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t327' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t328' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>response</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>finalize_response</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='nam'>response</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t329' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>response</span><span class='strut'>&nbsp;</span></p>
-<p id='t330' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t331' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>options</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t332' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t333' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Handler method for HTTP &#39;OPTIONS&#39; request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t334' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; We may as well implement this as Django will otherwise provide</span><span class='strut'>&nbsp;</span></p>
-<p id='t335' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; a less useful default implementation.</span><span class='strut'>&nbsp;</span></p>
-<p id='t336' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t337' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>Response</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>metadata</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>status</span><span class='op'>=</span><span class='nam'>status</span><span class='op'>.</span><span class='nam'>HTTP_200_OK</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t338' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t339' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>metadata</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t340' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t341' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Return a dictionary of metadata about the view.</span><span class='strut'>&nbsp;</span></p>
-<p id='t342' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Used to return responses for OPTIONS requests.</span><span class='strut'>&nbsp;</span></p>
-<p id='t343' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t344' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t345' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># This is used by ViewSets to disambiguate instance vs list views</span><span class='strut'>&nbsp;</span></p>
-<p id='t346' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view_name_suffix</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;suffix&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t347' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t348' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># By default we can&#39;t provide any form-like information, however the</span><span class='strut'>&nbsp;</span></p>
-<p id='t349' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># generic views override this implementation and add additional</span><span class='strut'>&nbsp;</span></p>
-<p id='t350' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># information for POST and PUT methods, based on the serializer.</span><span class='strut'>&nbsp;</span></p>
-<p id='t351' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span> <span class='op'>=</span> <span class='nam'>SortedDict</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t352' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='str'>&#39;name&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>get_view_name</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>,</span> <span class='nam'>view_name_suffix</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t353' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='str'>&#39;description&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='nam'>get_view_description</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>__class__</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t354' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='str'>&#39;renders&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>renderer</span><span class='op'>.</span><span class='nam'>media_type</span> <span class='key'>for</span> <span class='nam'>renderer</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>renderer_classes</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t355' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ret</span><span class='op'>[</span><span class='str'>&#39;parses&#39;</span><span class='op'>]</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>parser</span><span class='op'>.</span><span class='nam'>media_type</span> <span class='key'>for</span> <span class='nam'>parser</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>parser_classes</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p id='t356' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ret</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/rest_framework_viewsets.html b/htmlcov/rest_framework_viewsets.html
deleted file mode 100644
index 8264ddc0..00000000
--- a/htmlcov/rest_framework_viewsets.html
+++ /dev/null
@@ -1,359 +0,0 @@
-<!doctype html PUBLIC "-//W3C//DTD html 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-
-
- <meta http-equiv='X-UA-Compatible' content='IE=emulateIE7' />
- <title>Coverage for rest_framework/viewsets: 95%</title>
- <link rel='stylesheet' href='style.css' type='text/css'>
- <script type='text/javascript' src='jquery-1.4.3.min.js'></script>
- <script type='text/javascript' src='jquery.hotkeys.js'></script>
- <script type='text/javascript' src='jquery.isonscreen.js'></script>
- <script type='text/javascript' src='coverage_html.js'></script>
- <script type='text/javascript' charset='utf-8'>
- jQuery(document).ready(coverage.pyfile_ready);
- </script>
-</head>
-<body id='pyfile'>
-
-<div id='header'>
- <div class='content'>
- <h1>Coverage for <b>rest_framework/viewsets</b> :
- <span class='pc_cov'>95%</span>
- </h1>
- <img id='keyboard_icon' src='keybd_closed.png'>
- <h2 class='stats'>
- 39 statements
- <span class='run hide_run shortkey_r' onclick='coverage.toggle_lines(this, "run")'>37 run</span>
- <span class='mis shortkey_m' onclick='coverage.toggle_lines(this, "mis")'>2 missing</span>
- <span class='exc shortkey_x' onclick='coverage.toggle_lines(this, "exc")'>0 excluded</span>
-
- </h2>
- </div>
-</div>
-
-<div class='help_panel'>
- <img id='panel_icon' src='keybd_open.png'>
-<p class='legend'>Hot-keys on this page</p>
- <div>
-<p class='keyhelp'>
- <span class='key'>r</span>
- <span class='key'>m</span>
- <span class='key'>x</span>
- <span class='key'>p</span> &nbsp; toggle line displays
- </p>
-<p class='keyhelp'>
- <span class='key'>j</span>
- <span class='key'>k</span> &nbsp; next/prev highlighted chunk
- </p>
-<p class='keyhelp'>
- <span class='key'>0</span> &nbsp; (zero) top of page
- </p>
-<p class='keyhelp'>
- <span class='key'>1</span> &nbsp; (one) first highlighted chunk
- </p>
- </div>
-</div>
-
-<div id='source'>
- <table cellspacing='0' cellpadding='0'>
- <tr>
- <td class='linenos' valign='top'>
-<p id='n1' class='pln'><a href='#n1'>1</a></p>
-<p id='n2' class='pln'><a href='#n2'>2</a></p>
-<p id='n3' class='pln'><a href='#n3'>3</a></p>
-<p id='n4' class='pln'><a href='#n4'>4</a></p>
-<p id='n5' class='pln'><a href='#n5'>5</a></p>
-<p id='n6' class='pln'><a href='#n6'>6</a></p>
-<p id='n7' class='pln'><a href='#n7'>7</a></p>
-<p id='n8' class='pln'><a href='#n8'>8</a></p>
-<p id='n9' class='pln'><a href='#n9'>9</a></p>
-<p id='n10' class='pln'><a href='#n10'>10</a></p>
-<p id='n11' class='pln'><a href='#n11'>11</a></p>
-<p id='n12' class='pln'><a href='#n12'>12</a></p>
-<p id='n13' class='pln'><a href='#n13'>13</a></p>
-<p id='n14' class='pln'><a href='#n14'>14</a></p>
-<p id='n15' class='pln'><a href='#n15'>15</a></p>
-<p id='n16' class='pln'><a href='#n16'>16</a></p>
-<p id='n17' class='pln'><a href='#n17'>17</a></p>
-<p id='n18' class='pln'><a href='#n18'>18</a></p>
-<p id='n19' class='stm run hide_run'><a href='#n19'>19</a></p>
-<p id='n20' class='pln'><a href='#n20'>20</a></p>
-<p id='n21' class='stm run hide_run'><a href='#n21'>21</a></p>
-<p id='n22' class='stm run hide_run'><a href='#n22'>22</a></p>
-<p id='n23' class='stm run hide_run'><a href='#n23'>23</a></p>
-<p id='n24' class='pln'><a href='#n24'>24</a></p>
-<p id='n25' class='pln'><a href='#n25'>25</a></p>
-<p id='n26' class='stm run hide_run'><a href='#n26'>26</a></p>
-<p id='n27' class='pln'><a href='#n27'>27</a></p>
-<p id='n28' class='pln'><a href='#n28'>28</a></p>
-<p id='n29' class='pln'><a href='#n29'>29</a></p>
-<p id='n30' class='pln'><a href='#n30'>30</a></p>
-<p id='n31' class='pln'><a href='#n31'>31</a></p>
-<p id='n32' class='pln'><a href='#n32'>32</a></p>
-<p id='n33' class='pln'><a href='#n33'>33</a></p>
-<p id='n34' class='pln'><a href='#n34'>34</a></p>
-<p id='n35' class='pln'><a href='#n35'>35</a></p>
-<p id='n36' class='pln'><a href='#n36'>36</a></p>
-<p id='n37' class='pln'><a href='#n37'>37</a></p>
-<p id='n38' class='pln'><a href='#n38'>38</a></p>
-<p id='n39' class='stm run hide_run'><a href='#n39'>39</a></p>
-<p id='n40' class='stm run hide_run'><a href='#n40'>40</a></p>
-<p id='n41' class='pln'><a href='#n41'>41</a></p>
-<p id='n42' class='pln'><a href='#n42'>42</a></p>
-<p id='n43' class='pln'><a href='#n43'>43</a></p>
-<p id='n44' class='pln'><a href='#n44'>44</a></p>
-<p id='n45' class='pln'><a href='#n45'>45</a></p>
-<p id='n46' class='pln'><a href='#n46'>46</a></p>
-<p id='n47' class='pln'><a href='#n47'>47</a></p>
-<p id='n48' class='stm run hide_run'><a href='#n48'>48</a></p>
-<p id='n49' class='pln'><a href='#n49'>49</a></p>
-<p id='n50' class='pln'><a href='#n50'>50</a></p>
-<p id='n51' class='stm run hide_run'><a href='#n51'>51</a></p>
-<p id='n52' class='stm run hide_run'><a href='#n52'>52</a></p>
-<p id='n53' class='stm mis'><a href='#n53'>53</a></p>
-<p id='n54' class='pln'><a href='#n54'>54</a></p>
-<p id='n55' class='pln'><a href='#n55'>55</a></p>
-<p id='n56' class='stm run hide_run'><a href='#n56'>56</a></p>
-<p id='n57' class='stm mis'><a href='#n57'>57</a></p>
-<p id='n58' class='pln'><a href='#n58'>58</a></p>
-<p id='n59' class='pln'><a href='#n59'>59</a></p>
-<p id='n60' class='stm run hide_run'><a href='#n60'>60</a></p>
-<p id='n61' class='stm run hide_run'><a href='#n61'>61</a></p>
-<p id='n62' class='pln'><a href='#n62'>62</a></p>
-<p id='n63' class='pln'><a href='#n63'>63</a></p>
-<p id='n64' class='pln'><a href='#n64'>64</a></p>
-<p id='n65' class='stm run hide_run'><a href='#n65'>65</a></p>
-<p id='n66' class='pln'><a href='#n66'>66</a></p>
-<p id='n67' class='pln'><a href='#n67'>67</a></p>
-<p id='n68' class='pln'><a href='#n68'>68</a></p>
-<p id='n69' class='stm run hide_run'><a href='#n69'>69</a></p>
-<p id='n70' class='stm run hide_run'><a href='#n70'>70</a></p>
-<p id='n71' class='stm run hide_run'><a href='#n71'>71</a></p>
-<p id='n72' class='pln'><a href='#n72'>72</a></p>
-<p id='n73' class='pln'><a href='#n73'>73</a></p>
-<p id='n74' class='stm run hide_run'><a href='#n74'>74</a></p>
-<p id='n75' class='stm run hide_run'><a href='#n75'>75</a></p>
-<p id='n76' class='pln'><a href='#n76'>76</a></p>
-<p id='n77' class='pln'><a href='#n77'>77</a></p>
-<p id='n78' class='stm run hide_run'><a href='#n78'>78</a></p>
-<p id='n79' class='pln'><a href='#n79'>79</a></p>
-<p id='n80' class='pln'><a href='#n80'>80</a></p>
-<p id='n81' class='stm run hide_run'><a href='#n81'>81</a></p>
-<p id='n82' class='pln'><a href='#n82'>82</a></p>
-<p id='n83' class='pln'><a href='#n83'>83</a></p>
-<p id='n84' class='pln'><a href='#n84'>84</a></p>
-<p id='n85' class='stm run hide_run'><a href='#n85'>85</a></p>
-<p id='n86' class='pln'><a href='#n86'>86</a></p>
-<p id='n87' class='pln'><a href='#n87'>87</a></p>
-<p id='n88' class='pln'><a href='#n88'>88</a></p>
-<p id='n89' class='pln'><a href='#n89'>89</a></p>
-<p id='n90' class='stm run hide_run'><a href='#n90'>90</a></p>
-<p id='n91' class='stm run hide_run'><a href='#n91'>91</a></p>
-<p id='n92' class='stm run hide_run'><a href='#n92'>92</a></p>
-<p id='n93' class='pln'><a href='#n93'>93</a></p>
-<p id='n94' class='stm run hide_run'><a href='#n94'>94</a></p>
-<p id='n95' class='pln'><a href='#n95'>95</a></p>
-<p id='n96' class='pln'><a href='#n96'>96</a></p>
-<p id='n97' class='pln'><a href='#n97'>97</a></p>
-<p id='n98' class='pln'><a href='#n98'>98</a></p>
-<p id='n99' class='stm run hide_run'><a href='#n99'>99</a></p>
-<p id='n100' class='stm run hide_run'><a href='#n100'>100</a></p>
-<p id='n101' class='stm run hide_run'><a href='#n101'>101</a></p>
-<p id='n102' class='pln'><a href='#n102'>102</a></p>
-<p id='n103' class='pln'><a href='#n103'>103</a></p>
-<p id='n104' class='stm run hide_run'><a href='#n104'>104</a></p>
-<p id='n105' class='pln'><a href='#n105'>105</a></p>
-<p id='n106' class='pln'><a href='#n106'>106</a></p>
-<p id='n107' class='pln'><a href='#n107'>107</a></p>
-<p id='n108' class='stm run hide_run'><a href='#n108'>108</a></p>
-<p id='n109' class='pln'><a href='#n109'>109</a></p>
-<p id='n110' class='pln'><a href='#n110'>110</a></p>
-<p id='n111' class='stm run hide_run'><a href='#n111'>111</a></p>
-<p id='n112' class='pln'><a href='#n112'>112</a></p>
-<p id='n113' class='pln'><a href='#n113'>113</a></p>
-<p id='n114' class='pln'><a href='#n114'>114</a></p>
-<p id='n115' class='pln'><a href='#n115'>115</a></p>
-<p id='n116' class='pln'><a href='#n116'>116</a></p>
-<p id='n117' class='stm run hide_run'><a href='#n117'>117</a></p>
-<p id='n118' class='pln'><a href='#n118'>118</a></p>
-<p id='n119' class='pln'><a href='#n119'>119</a></p>
-<p id='n120' class='stm run hide_run'><a href='#n120'>120</a></p>
-<p id='n121' class='pln'><a href='#n121'>121</a></p>
-<p id='n122' class='pln'><a href='#n122'>122</a></p>
-<p id='n123' class='pln'><a href='#n123'>123</a></p>
-<p id='n124' class='pln'><a href='#n124'>124</a></p>
-<p id='n125' class='pln'><a href='#n125'>125</a></p>
-<p id='n126' class='stm run hide_run'><a href='#n126'>126</a></p>
-<p id='n127' class='pln'><a href='#n127'>127</a></p>
-<p id='n128' class='pln'><a href='#n128'>128</a></p>
-<p id='n129' class='stm run hide_run'><a href='#n129'>129</a></p>
-<p id='n130' class='pln'><a href='#n130'>130</a></p>
-<p id='n131' class='pln'><a href='#n131'>131</a></p>
-<p id='n132' class='pln'><a href='#n132'>132</a></p>
-<p id='n133' class='pln'><a href='#n133'>133</a></p>
-<p id='n134' class='pln'><a href='#n134'>134</a></p>
-<p id='n135' class='pln'><a href='#n135'>135</a></p>
-<p id='n136' class='pln'><a href='#n136'>136</a></p>
-<p id='n137' class='pln'><a href='#n137'>137</a></p>
-<p id='n138' class='pln'><a href='#n138'>138</a></p>
-<p id='n139' class='stm run hide_run'><a href='#n139'>139</a></p>
-
- </td>
- <td class='text' valign='top'>
-<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t2' class='pln'><span class='str'>ViewSets are essentially just a type of class based view, that doesn&#39;t provide</span><span class='strut'>&nbsp;</span></p>
-<p id='t3' class='pln'><span class='str'>any method handlers, such as `get()`, `post()`, etc... but instead has actions,</span><span class='strut'>&nbsp;</span></p>
-<p id='t4' class='pln'><span class='str'>such as `list()`, `retrieve()`, `create()`, etc...</span><span class='strut'>&nbsp;</span></p>
-<p id='t5' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t6' class='pln'><span class='str'>Actions are only bound to methods at the point of instantiating the views.</span><span class='strut'>&nbsp;</span></p>
-<p id='t7' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t8' class='pln'><span class='str'>&nbsp; &nbsp; user_list = UserViewSet.as_view({&#39;get&#39;: &#39;list&#39;})</span><span class='strut'>&nbsp;</span></p>
-<p id='t9' class='pln'><span class='str'>&nbsp; &nbsp; user_detail = UserViewSet.as_view({&#39;get&#39;: &#39;retrieve&#39;})</span><span class='strut'>&nbsp;</span></p>
-<p id='t10' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t11' class='pln'><span class='str'>Typically, rather than instantiate views from viewsets directly, you&#39;ll</span><span class='strut'>&nbsp;</span></p>
-<p id='t12' class='pln'><span class='str'>regsiter the viewset with a router and let the URL conf be determined</span><span class='strut'>&nbsp;</span></p>
-<p id='t13' class='pln'><span class='str'>automatically.</span><span class='strut'>&nbsp;</span></p>
-<p id='t14' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t15' class='pln'><span class='str'>&nbsp; &nbsp; router = DefaultRouter()</span><span class='strut'>&nbsp;</span></p>
-<p id='t16' class='pln'><span class='str'>&nbsp; &nbsp; router.register(r&#39;users&#39;, UserViewSet, &#39;user&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p id='t17' class='pln'><span class='str'>&nbsp; &nbsp; urlpatterns = router.urls</span><span class='strut'>&nbsp;</span></p>
-<p id='t18' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t19' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>unicode_literals</span><span class='strut'>&nbsp;</span></p>
-<p id='t20' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t21' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>functools</span> <span class='key'>import</span> <span class='nam'>update_wrapper</span><span class='strut'>&nbsp;</span></p>
-<p id='t22' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>django</span><span class='op'>.</span><span class='nam'>utils</span><span class='op'>.</span><span class='nam'>decorators</span> <span class='key'>import</span> <span class='nam'>classonlymethod</span><span class='strut'>&nbsp;</span></p>
-<p id='t23' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>rest_framework</span> <span class='key'>import</span> <span class='nam'>views</span><span class='op'>,</span> <span class='nam'>generics</span><span class='op'>,</span> <span class='nam'>mixins</span><span class='strut'>&nbsp;</span></p>
-<p id='t24' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t25' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t26' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ViewSetMixin</span><span class='op'>(</span><span class='nam'>object</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t27' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t28' class='pln'><span class='str'>&nbsp; &nbsp; This is the magic.</span><span class='strut'>&nbsp;</span></p>
-<p id='t29' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t30' class='pln'><span class='str'>&nbsp; &nbsp; Overrides `.as_view()` so that it takes an `actions` keyword that performs</span><span class='strut'>&nbsp;</span></p>
-<p id='t31' class='pln'><span class='str'>&nbsp; &nbsp; the binding of HTTP methods to actions on the Resource.</span><span class='strut'>&nbsp;</span></p>
-<p id='t32' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t33' class='pln'><span class='str'>&nbsp; &nbsp; For example, to create a concrete view binding the &#39;GET&#39; and &#39;POST&#39; methods</span><span class='strut'>&nbsp;</span></p>
-<p id='t34' class='pln'><span class='str'>&nbsp; &nbsp; to the &#39;list&#39; and &#39;create&#39; actions...</span><span class='strut'>&nbsp;</span></p>
-<p id='t35' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t36' class='pln'><span class='str'>&nbsp; &nbsp; view = MyViewSet.as_view({&#39;get&#39;: &#39;list&#39;, &#39;post&#39;: &#39;create&#39;})</span><span class='strut'>&nbsp;</span></p>
-<p id='t37' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t38' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t39' class='stm run hide_run'>&nbsp; &nbsp; <span class='op'>@</span><span class='nam'>classonlymethod</span><span class='strut'>&nbsp;</span></p>
-<p id='t40' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>as_view</span><span class='op'>(</span><span class='nam'>cls</span><span class='op'>,</span> <span class='nam'>actions</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>initkwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t41' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t42' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Because of the way class based views create a closure around the</span><span class='strut'>&nbsp;</span></p>
-<p id='t43' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; instantiated view, we need to totally reimplement `.as_view`,</span><span class='strut'>&nbsp;</span></p>
-<p id='t44' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; and slightly modify the view function that is created and returned.</span><span class='strut'>&nbsp;</span></p>
-<p id='t45' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t46' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># The suffix initkwarg is reserved for identifing the viewset type</span><span class='strut'>&nbsp;</span></p>
-<p id='t47' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># eg. &#39;List&#39; or &#39;Instance&#39;.</span><span class='strut'>&nbsp;</span></p>
-<p id='t48' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cls</span><span class='op'>.</span><span class='nam'>suffix</span> <span class='op'>=</span> <span class='nam'>None</span><span class='strut'>&nbsp;</span></p>
-<p id='t49' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t50' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># sanitize keyword arguments</span><span class='strut'>&nbsp;</span></p>
-<p id='t51' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>key</span> <span class='key'>in</span> <span class='nam'>initkwargs</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t52' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>key</span> <span class='key'>in</span> <span class='nam'>cls</span><span class='op'>.</span><span class='nam'>http_method_names</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t53' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>TypeError</span><span class='op'>(</span><span class='str'>&quot;You tried to pass in the %s method name as a &quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t54' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;keyword argument to %s(). Don&#39;t do that.&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t55' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='op'>%</span> <span class='op'>(</span><span class='nam'>key</span><span class='op'>,</span> <span class='nam'>cls</span><span class='op'>.</span><span class='nam'>__name__</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t56' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>cls</span><span class='op'>,</span> <span class='nam'>key</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t57' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>raise</span> <span class='nam'>TypeError</span><span class='op'>(</span><span class='str'>&quot;%s() received an invalid keyword %r&quot;</span> <span class='op'>%</span> <span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p id='t58' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cls</span><span class='op'>.</span><span class='nam'>__name__</span><span class='op'>,</span> <span class='nam'>key</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t59' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t60' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>view</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t61' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span> <span class='op'>=</span> <span class='nam'>cls</span><span class='op'>(</span><span class='op'>**</span><span class='nam'>initkwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t62' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We also store the mapping of request methods to actions,</span><span class='strut'>&nbsp;</span></p>
-<p id='t63' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># so that we can later set the action attribute.</span><span class='strut'>&nbsp;</span></p>
-<p id='t64' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># eg. `self.action = &#39;list&#39;` on an incoming GET request.</span><span class='strut'>&nbsp;</span></p>
-<p id='t65' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>action_map</span> <span class='op'>=</span> <span class='nam'>actions</span><span class='strut'>&nbsp;</span></p>
-<p id='t66' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t67' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Bind methods to actions</span><span class='strut'>&nbsp;</span></p>
-<p id='t68' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># This is the bit that&#39;s different to a standard view</span><span class='strut'>&nbsp;</span></p>
-<p id='t69' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>action</span> <span class='key'>in</span> <span class='nam'>actions</span><span class='op'>.</span><span class='nam'>items</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t70' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>handler</span> <span class='op'>=</span> <span class='nam'>getattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>action</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t71' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>setattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>method</span><span class='op'>,</span> <span class='nam'>handler</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t72' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t73' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Patch this in as it&#39;s otherwise only present from 1.5 onwards</span><span class='strut'>&nbsp;</span></p>
-<p id='t74' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;get&#39;</span><span class='op'>)</span> <span class='key'>and</span> <span class='key'>not</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;head&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t75' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>head</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>get</span><span class='strut'>&nbsp;</span></p>
-<p id='t76' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t77' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># And continue as usual</span><span class='strut'>&nbsp;</span></p>
-<p id='t78' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>dispatch</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kwargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t79' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t80' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># take name and docstring from class</span><span class='strut'>&nbsp;</span></p>
-<p id='t81' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>update_wrapper</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='nam'>cls</span><span class='op'>,</span> <span class='nam'>updated</span><span class='op'>=</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t82' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t83' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># and possible attributes set by decorators</span><span class='strut'>&nbsp;</span></p>
-<p id='t84' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># like csrf_exempt from dispatch</span><span class='strut'>&nbsp;</span></p>
-<p id='t85' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>update_wrapper</span><span class='op'>(</span><span class='nam'>view</span><span class='op'>,</span> <span class='nam'>cls</span><span class='op'>.</span><span class='nam'>dispatch</span><span class='op'>,</span> <span class='nam'>assigned</span><span class='op'>=</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t86' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t87' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># We need to set these on the view function, so that breadcrumb</span><span class='strut'>&nbsp;</span></p>
-<p id='t88' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># generation can pick out these bits of information from a</span><span class='strut'>&nbsp;</span></p>
-<p id='t89' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># resolved URL.</span><span class='strut'>&nbsp;</span></p>
-<p id='t90' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span><span class='op'>.</span><span class='nam'>cls</span> <span class='op'>=</span> <span class='nam'>cls</span><span class='strut'>&nbsp;</span></p>
-<p id='t91' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>view</span><span class='op'>.</span><span class='nam'>suffix</span> <span class='op'>=</span> <span class='nam'>initkwargs</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='str'>&#39;suffix&#39;</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t92' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>view</span><span class='strut'>&nbsp;</span></p>
-<p id='t93' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t94' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>initialize_request</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kargs</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t95' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t96' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Set the `.action` attribute on the view,</span><span class='strut'>&nbsp;</span></p>
-<p id='t97' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; depending on the request method.</span><span class='strut'>&nbsp;</span></p>
-<p id='t98' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t99' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>request</span> <span class='op'>=</span> <span class='nam'>super</span><span class='op'>(</span><span class='nam'>ViewSetMixin</span><span class='op'>,</span> <span class='nam'>self</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>initialize_request</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>,</span> <span class='op'>**</span><span class='nam'>kargs</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t100' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>action</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>action_map</span><span class='op'>.</span><span class='nam'>get</span><span class='op'>(</span><span class='nam'>request</span><span class='op'>.</span><span class='nam'>method</span><span class='op'>.</span><span class='nam'>lower</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p id='t101' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>request</span><span class='strut'>&nbsp;</span></p>
-<p id='t102' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t103' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t104' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ViewSet</span><span class='op'>(</span><span class='nam'>ViewSetMixin</span><span class='op'>,</span> <span class='nam'>views</span><span class='op'>.</span><span class='nam'>APIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t105' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t106' class='pln'><span class='str'>&nbsp; &nbsp; The base ViewSet class does not provide any actions by default.</span><span class='strut'>&nbsp;</span></p>
-<p id='t107' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t108' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t109' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t110' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t111' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>GenericViewSet</span><span class='op'>(</span><span class='nam'>ViewSetMixin</span><span class='op'>,</span> <span class='nam'>generics</span><span class='op'>.</span><span class='nam'>GenericAPIView</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t112' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t113' class='pln'><span class='str'>&nbsp; &nbsp; The GenericViewSet class does not provide any actions by default,</span><span class='strut'>&nbsp;</span></p>
-<p id='t114' class='pln'><span class='str'>&nbsp; &nbsp; but does include the base set of generic view behavior, such as</span><span class='strut'>&nbsp;</span></p>
-<p id='t115' class='pln'><span class='str'>&nbsp; &nbsp; the `get_object` and `get_queryset` methods.</span><span class='strut'>&nbsp;</span></p>
-<p id='t116' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t117' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t118' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t119' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t120' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ReadOnlyModelViewSet</span><span class='op'>(</span><span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>RetrieveModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t121' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>ListModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t122' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class='nam'>GenericViewSet</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t123' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t124' class='pln'><span class='str'>&nbsp; &nbsp; A viewset that provides default `list()` and `retrieve()` actions.</span><span class='strut'>&nbsp;</span></p>
-<p id='t125' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t126' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p id='t127' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t128' class='pln'><span class='strut'>&nbsp;</span></p>
-<p id='t129' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>ModelViewSet</span><span class='op'>(</span><span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>CreateModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t130' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>RetrieveModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t131' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>UpdateModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t132' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>DestroyModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t133' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mixins</span><span class='op'>.</span><span class='nam'>ListModelMixin</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p id='t134' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>GenericViewSet</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p id='t135' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t136' class='pln'><span class='str'>&nbsp; &nbsp; A viewset that provides default `create()`, `retrieve()`, `update()`,</span><span class='strut'>&nbsp;</span></p>
-<p id='t137' class='pln'><span class='str'>&nbsp; &nbsp; `partial_update()`, `destroy()` and `list()` actions.</span><span class='strut'>&nbsp;</span></p>
-<p id='t138' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p id='t139' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-
- </td>
- </tr>
- </table>
-</div>
-
-<div id='footer'>
- <div class='content'>
- <p>
- <a class='nav' href='index.html'>&#xab; index</a> &nbsp; &nbsp; <a class='nav' href='http://nedbatchelder.com/code/coverage'>coverage.py v3.5.1</a>
- </p>
- </div>
-</div>
-
-</body>
-</html>
diff --git a/htmlcov/status.dat b/htmlcov/status.dat
deleted file mode 100644
index 9e448e37..00000000
--- a/htmlcov/status.dat
+++ /dev/null
@@ -1,1258 +0,0 @@
-(dp1
-S'files'
-p2
-(dp3
-S'rest_framework_utils_encoders'
-p4
-(dp5
-S'index'
-p6
-(dp7
-S'par'
-p8
-I0
-sS'html_filename'
-p9
-S'rest_framework_utils_encoders.html'
-p10
-sS'name'
-p11
-S'rest_framework/utils/encoders'
-p12
-sS'nums'
-p13
-ccopy_reg
-_reconstructor
-p14
-(ccoverage.results
-Numbers
-p15
-c__builtin__
-object
-p16
-NtRp17
-(dp18
-S'n_files'
-p19
-I1
-sS'n_branches'
-p20
-I0
-sS'n_statements'
-p21
-I70
-sS'n_excluded'
-p22
-I0
-sS'n_missing'
-p23
-I19
-sS'n_missing_branches'
-p24
-I0
-sbssS'hash'
-p25
-S'\x9d|\xea|-p\x0c#\xef\x82\x8c\x91\xf1\xcd}f'
-p26
-ssS'rest_framework___init__'
-p27
-(dp28
-g6
-(dp29
-g8
-I0
-sg9
-S'rest_framework___init__.html'
-p30
-sg11
-S'rest_framework/__init__'
-p31
-sg13
-g14
-(g15
-g16
-NtRp32
-(dp33
-g19
-I1
-sg20
-I0
-sg21
-I4
-sg22
-I0
-sg23
-I0
-sg24
-I0
-sbssg25
-S'\xbc\xf1f\xd9[\xd4\xcf\x9cQ\x94H\xfd3)\xea['
-p34
-ssS'rest_framework_urlpatterns'
-p35
-(dp36
-g6
-(dp37
-g8
-I0
-sg9
-S'rest_framework_urlpatterns.html'
-p38
-sg11
-S'rest_framework/urlpatterns'
-p39
-sg13
-g14
-(g15
-g16
-NtRp40
-(dp41
-g19
-I1
-sg20
-I0
-sg21
-I31
-sg22
-I0
-sg23
-I4
-sg24
-I0
-sbssg25
-S"\x84\xb0-\xc6Y\x7f\xebA'\x8c5+\xcf\xf6\xcf\xda"
-p42
-ssS'rest_framework_permissions'
-p43
-(dp44
-g6
-(dp45
-g8
-I0
-sg9
-S'rest_framework_permissions.html'
-p46
-sg11
-S'rest_framework/permissions'
-p47
-sg13
-g14
-(g15
-g16
-NtRp48
-(dp49
-g19
-I1
-sg20
-I0
-sg21
-I63
-sg22
-I0
-sg23
-I12
-sg24
-I0
-sbssg25
-S",\xc4,\xda\x05\x86\x17\xe8u2~ls*'\xc1"
-p50
-ssS'rest_framework_fields'
-p51
-(dp52
-g6
-(dp53
-g8
-I0
-sg9
-S'rest_framework_fields.html'
-p54
-sg11
-S'rest_framework/fields'
-p55
-sg13
-g14
-(g15
-g16
-NtRp56
-(dp57
-g19
-I1
-sg20
-I0
-sg21
-I594
-sg22
-I0
-sg23
-I80
-sg24
-I0
-sbssg25
-S'\x08\x1b\xd2m\x91l\x14e\x97CDA\x1c&k\xf9'
-p58
-ssS'rest_framework_models'
-p59
-(dp60
-g6
-(dp61
-g8
-I0
-sg9
-S'rest_framework_models.html'
-p62
-sg11
-S'rest_framework/models'
-p63
-sg13
-g14
-(g15
-g16
-NtRp64
-(dp65
-g19
-I1
-sg20
-I0
-sg21
-I0
-sg22
-I0
-sg23
-I0
-sg24
-I0
-sbssg25
-S' E\xaf\xdd\xe7\xbb\xc4\x11z\xf8\x80\x18v.\xec\xf6'
-p66
-ssS'rest_framework_utils_breadcrumbs'
-p67
-(dp68
-g6
-(dp69
-g8
-I0
-sg9
-S'rest_framework_utils_breadcrumbs.html'
-p70
-sg11
-S'rest_framework/utils/breadcrumbs'
-p71
-sg13
-g14
-(g15
-g16
-NtRp72
-(dp73
-g19
-I1
-sg20
-I0
-sg21
-I27
-sg22
-I0
-sg23
-I0
-sg24
-I0
-sbssg25
-S'V"\xf6\xbc\\m)\x12R4>c\xff\xea\xde\x8b'
-p74
-ssS'rest_framework_urls'
-p75
-(dp76
-g6
-(dp77
-g8
-I0
-sg9
-S'rest_framework_urls.html'
-p78
-sg11
-S'rest_framework/urls'
-p79
-sg13
-g14
-(g15
-g16
-NtRp80
-(dp81
-g19
-I1
-sg20
-I0
-sg21
-I4
-sg22
-I0
-sg23
-I0
-sg24
-I0
-sbssg25
-S'\xba\x9b\xdaeu\x17\x8b\xe0e\xc6-\xc5R\xba\xa2\xd5'
-p82
-ssS'rest_framework_serializers'
-p83
-(dp84
-g6
-(dp85
-g8
-I0
-sg9
-S'rest_framework_serializers.html'
-p86
-sg11
-S'rest_framework/serializers'
-p87
-sg13
-g14
-(g15
-g16
-NtRp88
-(dp89
-g19
-I1
-sg20
-I0
-sg21
-I464
-sg22
-I0
-sg23
-I27
-sg24
-I0
-sbssg25
-S'O\\\xf6\x81y\x95\xae\x9a)\xe9~\xb8\xab\t\x88#'
-p90
-ssS'rest_framework_exceptions'
-p91
-(dp92
-g6
-(dp93
-g8
-I0
-sg9
-S'rest_framework_exceptions.html'
-p94
-sg11
-S'rest_framework/exceptions'
-p95
-sg13
-g14
-(g15
-g16
-NtRp96
-(dp97
-g19
-I1
-sg20
-I0
-sg21
-I51
-sg22
-I0
-sg23
-I2
-sg24
-I0
-sbssg25
-S'\xdd\xcaE\x12\x1f4V\xe6\x91\x11\xef:T\xe1r\xca'
-p98
-ssS'rest_framework_status'
-p99
-(dp100
-g6
-(dp101
-g8
-I0
-sg9
-S'rest_framework_status.html'
-p102
-sg11
-S'rest_framework/status'
-p103
-sg13
-g14
-(g15
-g16
-NtRp104
-(dp105
-g19
-I1
-sg20
-I0
-sg21
-I46
-sg22
-I0
-sg23
-I0
-sg24
-I0
-sbssg25
-S'\x97z\xcd\xfd\xdc\x0c\xe3\xa9j\x04\xab\x13]\x98\xbf\x80'
-p106
-ssS'rest_framework_relations'
-p107
-(dp108
-g6
-(dp109
-g8
-I0
-sg9
-S'rest_framework_relations.html'
-p110
-sg11
-S'rest_framework/relations'
-p111
-sg13
-g14
-(g15
-g16
-NtRp112
-(dp113
-g19
-I1
-sg20
-I0
-sg21
-I365
-sg22
-I0
-sg23
-I88
-sg24
-I0
-sbssg25
-S'\xdb"\xfe\xc2\xb3\x8a\xe2(\xbeoNk\x1b\xd3H9'
-p114
-ssS'rest_framework_authtoken_views'
-p115
-(dp116
-g6
-(dp117
-g8
-I0
-sg9
-S'rest_framework_authtoken_views.html'
-p118
-sg11
-S'rest_framework/authtoken/views'
-p119
-sg13
-g14
-(g15
-g16
-NtRp120
-(dp121
-g19
-I1
-sg20
-I0
-sg21
-I21
-sg22
-I0
-sg23
-I0
-sg24
-I0
-sbssg25
-S'\xb8A\x13\xee\xfc9\x8b\x1eY-\xad\x00\xa7\x9dH]'
-p122
-ssS'rest_framework_mixins'
-p123
-(dp124
-g6
-(dp125
-g8
-I0
-sg9
-S'rest_framework_mixins.html'
-p126
-sg11
-S'rest_framework/mixins'
-p127
-sg13
-g14
-(g15
-g16
-NtRp128
-(dp129
-g19
-I1
-sg20
-I0
-sg21
-I97
-sg22
-I0
-sg23
-I7
-sg24
-I0
-sbssg25
-S'\xcd\xe5\x9f\xc2\xbb\xd9\xcb\x14*\x88\x99\xe8\xdf\xd2\xa8\xd6'
-p130
-ssS'rest_framework_views'
-p131
-(dp132
-g6
-(dp133
-g8
-I0
-sg9
-S'rest_framework_views.html'
-p134
-sg11
-S'rest_framework/views'
-p135
-sg13
-g14
-(g15
-g16
-NtRp136
-(dp137
-g19
-I1
-sg20
-I0
-sg21
-I146
-sg22
-I0
-sg23
-I0
-sg24
-I0
-sbssg25
-S'ZBo\x84oh^\x1f\x8c\x94Mp$\xf3\xd2\xa1'
-p138
-ssS'rest_framework_generics'
-p139
-(dp140
-g6
-(dp141
-g8
-I0
-sg9
-S'rest_framework_generics.html'
-p142
-sg11
-S'rest_framework/generics'
-p143
-sg13
-g14
-(g15
-g16
-NtRp144
-(dp145
-g19
-I1
-sg20
-I0
-sg21
-I196
-sg22
-I0
-sg23
-I34
-sg24
-I0
-sbssg25
-S'@\x1c\x97\x176\x18\x9c\xfc"| |\xb8^\xbb\x83'
-p146
-ssS'rest_framework_utils___init__'
-p147
-(dp148
-g6
-(dp149
-g8
-I0
-sg9
-S'rest_framework_utils___init__.html'
-p150
-sg11
-S'rest_framework/utils/__init__'
-p151
-sg13
-g14
-(g15
-g16
-NtRp152
-(dp153
-g19
-I1
-sg20
-I0
-sg21
-I0
-sg22
-I0
-sg23
-I0
-sg24
-I0
-sbssg25
-S'\xb0\xc8pN\xaf>\xa0\xbaz\x144\xe0A9\xb8?'
-p154
-ssS'rest_framework_renderers'
-p155
-(dp156
-g6
-(dp157
-g8
-I0
-sg9
-S'rest_framework_renderers.html'
-p158
-sg11
-S'rest_framework/renderers'
-p159
-sg13
-g14
-(g15
-g16
-NtRp160
-(dp161
-g19
-I1
-sg20
-I0
-sg21
-I282
-sg22
-I0
-sg23
-I23
-sg24
-I0
-sbssg25
-S'\t\x11\xd4\xafO\xae\\*\x8d\xaf\xa4f\xde\x86\xe8N'
-p162
-ssS'rest_framework_negotiation'
-p163
-(dp164
-g6
-(dp165
-g8
-I0
-sg9
-S'rest_framework_negotiation.html'
-p166
-sg11
-S'rest_framework/negotiation'
-p167
-sg13
-g14
-(g15
-g16
-NtRp168
-(dp169
-g19
-I1
-sg20
-I0
-sg21
-I41
-sg22
-I0
-sg23
-I4
-sg24
-I0
-sbssg25
-S'\xd2\xa2\x94\xc8}y\xba\x9eZE\xe5M\xa5>\x9f\x8d'
-p170
-ssS'rest_framework_throttling'
-p171
-(dp172
-g6
-(dp173
-g8
-I0
-sg9
-S'rest_framework_throttling.html'
-p174
-sg11
-S'rest_framework/throttling'
-p175
-sg13
-g14
-(g15
-g16
-NtRp176
-(dp177
-g19
-I1
-sg20
-I0
-sg21
-I90
-sg22
-I0
-sg23
-I17
-sg24
-I0
-sbssg25
-S'a\xbcT\xe7\xff\x1an\xb5\x886\xa3\xa2e\x90PZ'
-p178
-ssS'rest_framework_reverse'
-p179
-(dp180
-g6
-(dp181
-g8
-I0
-sg9
-S'rest_framework_reverse.html'
-p182
-sg11
-S'rest_framework/reverse'
-p183
-sg13
-g14
-(g15
-g16
-NtRp184
-(dp185
-g19
-I1
-sg20
-I0
-sg21
-I12
-sg22
-I0
-sg23
-I3
-sg24
-I0
-sbssg25
-S"#\xe7D\x01\x10\xe8'1\x9c\xc9yX4\xb4\xef\x19"
-p186
-ssS'rest_framework_request'
-p187
-(dp188
-g6
-(dp189
-g8
-I0
-sg9
-S'rest_framework_request.html'
-p190
-sg11
-S'rest_framework/request'
-p191
-sg13
-g14
-(g15
-g16
-NtRp192
-(dp193
-g19
-I1
-sg20
-I0
-sg21
-I161
-sg22
-I0
-sg23
-I8
-sg24
-I0
-sbssg25
-S'C\xd4v\x9b\xf2Z\xe47\xe8\xc8\x03\xf4\xf8\xac\xefs'
-p194
-ssS'rest_framework_parsers'
-p195
-(dp196
-g6
-(dp197
-g8
-I0
-sg9
-S'rest_framework_parsers.html'
-p198
-sg11
-S'rest_framework/parsers'
-p199
-sg13
-g14
-(g15
-g16
-NtRp200
-(dp201
-g19
-I1
-sg20
-I0
-sg21
-I153
-sg22
-I0
-sg23
-I13
-sg24
-I0
-sbssg25
-S'\x11o\x05[\x99{\x9c\x8bj\xa8\xd0t\xe8\x16\\\xae'
-p202
-ssS'rest_framework_settings'
-p203
-(dp204
-g6
-(dp205
-g8
-I0
-sg9
-S'rest_framework_settings.html'
-p206
-sg11
-S'rest_framework/settings'
-p207
-sg13
-g14
-(g15
-g16
-NtRp208
-(dp209
-g19
-I1
-sg20
-I0
-sg21
-I44
-sg22
-I0
-sg23
-I2
-sg24
-I0
-sbssg25
-S'\n\xb8|\x03\xa7d|\xfc9\xda\xb5\xb9\x1a\x00@\xc3'
-p210
-ssS'rest_framework_authtoken_models'
-p211
-(dp212
-g6
-(dp213
-g8
-I0
-sg9
-S'rest_framework_authtoken_models.html'
-p214
-sg11
-S'rest_framework/authtoken/models'
-p215
-sg13
-g14
-(g15
-g16
-NtRp216
-(dp217
-g19
-I1
-sg20
-I0
-sg21
-I21
-sg22
-I0
-sg23
-I1
-sg24
-I0
-sbssg25
-S'U;\xc7\xf5{\xf6r\xc7]\x95\xffF\xde\x8caE'
-p218
-ssS'rest_framework_decorators'
-p219
-(dp220
-g6
-(dp221
-g8
-I0
-sg9
-S'rest_framework_decorators.html'
-p222
-sg11
-S'rest_framework/decorators'
-p223
-sg13
-g14
-(g15
-g16
-NtRp224
-(dp225
-g19
-I1
-sg20
-I0
-sg21
-I60
-sg22
-I0
-sg23
-I0
-sg24
-I0
-sbssg25
-S"\xd4\x88\xa2\x16\xf4#X\xb4X\xe97Lj\xeb\x16'"
-p226
-ssS'rest_framework_authentication'
-p227
-(dp228
-g6
-(dp229
-g8
-I0
-sg9
-S'rest_framework_authentication.html'
-p230
-sg11
-S'rest_framework/authentication'
-p231
-sg13
-g14
-(g15
-g16
-NtRp232
-(dp233
-g19
-I1
-sg20
-I0
-sg21
-I169
-sg22
-I0
-sg23
-I33
-sg24
-I0
-sbssg25
-S'^\x80:,\x1cL\xde\t\xc1\x93\xe0\x8b\x11\xf4\xb8\x06'
-p234
-ssS'rest_framework_utils_formatting'
-p235
-(dp236
-g6
-(dp237
-g8
-I0
-sg9
-S'rest_framework_utils_formatting.html'
-p238
-sg11
-S'rest_framework/utils/formatting'
-p239
-sg13
-g14
-(g15
-g16
-NtRp240
-(dp241
-g19
-I1
-sg20
-I0
-sg21
-I39
-sg22
-I0
-sg23
-I1
-sg24
-I0
-sbssg25
-S'\xdd\x05M\xeb\xfe\tl\xe6\xdd\xc5k\xae\xa8\xf9um'
-p242
-ssS'rest_framework_pagination'
-p243
-(dp244
-g6
-(dp245
-g8
-I0
-sg9
-S'rest_framework_pagination.html'
-p246
-sg11
-S'rest_framework/pagination'
-p247
-sg13
-g14
-(g15
-g16
-NtRp248
-(dp249
-g19
-I1
-sg20
-I0
-sg21
-I43
-sg22
-I0
-sg23
-I0
-sg24
-I0
-sbssg25
-S'y\xa8f\rv\x8c\x9b\x9a:<X\x8fI\x04\xbf\x10'
-p250
-ssS'rest_framework_filters'
-p251
-(dp252
-g6
-(dp253
-g8
-I0
-sg9
-S'rest_framework_filters.html'
-p254
-sg11
-S'rest_framework/filters'
-p255
-sg13
-g14
-(g15
-g16
-NtRp256
-(dp257
-g19
-I1
-sg20
-I0
-sg21
-I77
-sg22
-I0
-sg23
-I6
-sg24
-I0
-sbssg25
-S'g\x98\x01\xdc\x93,\xbc\x8eT\x97}\x08\xc0\xa8\xca\x91'
-p258
-ssS'rest_framework_utils_mediatypes'
-p259
-(dp260
-g6
-(dp261
-g8
-I0
-sg9
-S'rest_framework_utils_mediatypes.html'
-p262
-sg11
-S'rest_framework/utils/mediatypes'
-p263
-sg13
-g14
-(g15
-g16
-NtRp264
-(dp265
-g19
-I1
-sg20
-I0
-sg21
-I44
-sg22
-I0
-sg23
-I10
-sg24
-I0
-sbssg25
-S'x\x15\x87^\xd5\x1e\xec\xb6\x88c%m\xdc:\xc5\x06'
-p266
-ssS'rest_framework_authtoken_serializers'
-p267
-(dp268
-g6
-(dp269
-g8
-I0
-sg9
-S'rest_framework_authtoken_serializers.html'
-p270
-sg11
-S'rest_framework/authtoken/serializers'
-p271
-sg13
-g14
-(g15
-g16
-NtRp272
-(dp273
-g19
-I1
-sg20
-I0
-sg21
-I17
-sg22
-I0
-sg23
-I2
-sg24
-I0
-sbssg25
-S'[3\xb5t\x80\x93h7\xbfV\xe9\xac\xe3C\x84\x00'
-p274
-ssS'rest_framework_response'
-p275
-(dp276
-g6
-(dp277
-g8
-I0
-sg9
-S'rest_framework_response.html'
-p278
-sg11
-S'rest_framework/response'
-p279
-sg13
-g14
-(g15
-g16
-NtRp280
-(dp281
-g19
-I1
-sg20
-I0
-sg21
-I42
-sg22
-I0
-sg23
-I1
-sg24
-I0
-sbssg25
-S'\x99a\x830 \xa8\x0bP%>9\xdc\x89\t>\x0c'
-p282
-ssS'rest_framework_viewsets'
-p283
-(dp284
-g6
-(dp285
-g8
-I0
-sg9
-S'rest_framework_viewsets.html'
-p286
-sg11
-S'rest_framework/viewsets'
-p287
-sg13
-g14
-(g15
-g16
-NtRp288
-(dp289
-g19
-I1
-sg20
-I0
-sg21
-I39
-sg22
-I0
-sg23
-I2
-sg24
-I0
-sbssg25
-S'ic\x82\xc6e\x93$\x1b\x0c\x8bK\x10\x0f9\xe8\n'
-p290
-ssS'rest_framework_authtoken___init__'
-p291
-(dp292
-g6
-(dp293
-g8
-I0
-sg9
-S'rest_framework_authtoken___init__.html'
-p294
-sg11
-S'rest_framework/authtoken/__init__'
-p295
-sg13
-g14
-(g15
-g16
-NtRp296
-(dp297
-g19
-I1
-sg20
-I0
-sg21
-I0
-sg22
-I0
-sg23
-I0
-sg24
-I0
-sbssg25
-S'\xb0\xc8pN\xaf>\xa0\xbaz\x144\xe0A9\xb8?'
-p298
-ssS'rest_framework_routers'
-p299
-(dp300
-g6
-(dp301
-g8
-I0
-sg9
-S'rest_framework_routers.html'
-p302
-sg11
-S'rest_framework/routers'
-p303
-sg13
-g14
-(g15
-g16
-NtRp304
-(dp305
-g19
-I1
-sg20
-I0
-sg21
-I108
-sg22
-I0
-sg23
-I7
-sg24
-I0
-sbssg25
-S'i\xa8[\x1f\x0f|\xd6\xa0R\x98\xa9\xecs\xe53\xb3'
-p306
-sssS'version'
-p307
-S'3.5.1'
-p308
-sS'settings'
-p309
-S'\xfe\xa4\x01e\x06\x8a\x97H\x97\xaf\xbf\xcd\xfez\xe4\xbf'
-p310
-sS'format'
-p311
-I1
-s. \ No newline at end of file
diff --git a/htmlcov/style.css b/htmlcov/style.css
deleted file mode 100644
index c40357b8..00000000
--- a/htmlcov/style.css
+++ /dev/null
@@ -1,275 +0,0 @@
-/* CSS styles for Coverage. */
-/* Page-wide styles */
-html, body, h1, h2, h3, p, td, th {
- margin: 0;
- padding: 0;
- border: 0;
- outline: 0;
- font-weight: inherit;
- font-style: inherit;
- font-size: 100%;
- font-family: inherit;
- vertical-align: baseline;
- }
-
-/* Set baseline grid to 16 pt. */
-body {
- font-family: georgia, serif;
- font-size: 1em;
- }
-
-html>body {
- font-size: 16px;
- }
-
-/* Set base font size to 12/16 */
-p {
- font-size: .75em; /* 12/16 */
- line-height: 1.3333em; /* 16/12 */
- }
-
-table {
- border-collapse: collapse;
- }
-
-a.nav {
- text-decoration: none;
- color: inherit;
- }
-a.nav:hover {
- text-decoration: underline;
- color: inherit;
- }
-
-/* Page structure */
-#header {
- background: #f8f8f8;
- width: 100%;
- border-bottom: 1px solid #eee;
- }
-
-#source {
- padding: 1em;
- font-family: "courier new", monospace;
- }
-
-#indexfile #footer {
- margin: 1em 3em;
- }
-
-#pyfile #footer {
- margin: 1em 1em;
- }
-
-#footer .content {
- padding: 0;
- font-size: 85%;
- font-family: verdana, sans-serif;
- color: #666666;
- font-style: italic;
- }
-
-#index {
- margin: 1em 0 0 3em;
- }
-
-/* Header styles */
-#header .content {
- padding: 1em 3em;
- }
-
-h1 {
- font-size: 1.25em;
-}
-
-h2.stats {
- margin-top: .5em;
- font-size: 1em;
-}
-.stats span {
- border: 1px solid;
- padding: .1em .25em;
- margin: 0 .1em;
- cursor: pointer;
- border-color: #999 #ccc #ccc #999;
-}
-.stats span.hide_run, .stats span.hide_exc,
-.stats span.hide_mis, .stats span.hide_par,
-.stats span.par.hide_run.hide_par {
- border-color: #ccc #999 #999 #ccc;
-}
-.stats span.par.hide_run {
- border-color: #999 #ccc #ccc #999;
-}
-
-/* Help panel */
-#keyboard_icon {
- float: right;
- cursor: pointer;
-}
-
-.help_panel {
- position: absolute;
- background: #ffc;
- padding: .5em;
- border: 1px solid #883;
- display: none;
-}
-
-#indexfile .help_panel {
- width: 20em; height: 4em;
-}
-
-#pyfile .help_panel {
- width: 16em; height: 8em;
-}
-
-.help_panel .legend {
- font-style: italic;
- margin-bottom: 1em;
-}
-
-#panel_icon {
- float: right;
- cursor: pointer;
-}
-
-.keyhelp {
- margin: .75em;
-}
-
-.keyhelp .key {
- border: 1px solid black;
- border-color: #888 #333 #333 #888;
- padding: .1em .35em;
- font-family: monospace;
- font-weight: bold;
- background: #eee;
-}
-
-/* Source file styles */
-.linenos p {
- text-align: right;
- margin: 0;
- padding: 0 .5em;
- color: #999999;
- font-family: verdana, sans-serif;
- font-size: .625em; /* 10/16 */
- line-height: 1.6em; /* 16/10 */
- }
-.linenos p.highlight {
- background: #ffdd00;
- }
-.linenos p a {
- text-decoration: none;
- color: #999999;
- }
-.linenos p a:hover {
- text-decoration: underline;
- color: #999999;
- }
-
-td.text {
- width: 100%;
- }
-.text p {
- margin: 0;
- padding: 0 0 0 .5em;
- border-left: 2px solid #ffffff;
- white-space: nowrap;
- }
-
-.text p.mis {
- background: #ffdddd;
- border-left: 2px solid #ff0000;
- }
-.text p.run, .text p.run.hide_par {
- background: #ddffdd;
- border-left: 2px solid #00ff00;
- }
-.text p.exc {
- background: #eeeeee;
- border-left: 2px solid #808080;
- }
-.text p.par, .text p.par.hide_run {
- background: #ffffaa;
- border-left: 2px solid #eeee99;
- }
-.text p.hide_run, .text p.hide_exc, .text p.hide_mis, .text p.hide_par,
-.text p.hide_run.hide_par {
- background: inherit;
- }
-
-.text span.annotate {
- font-family: georgia;
- font-style: italic;
- color: #666;
- float: right;
- padding-right: .5em;
- }
-.text p.hide_par span.annotate {
- display: none;
- }
-
-/* Syntax coloring */
-.text .com {
- color: green;
- font-style: italic;
- line-height: 1px;
- }
-.text .key {
- font-weight: bold;
- line-height: 1px;
- }
-.text .str {
- color: #000080;
- }
-
-/* index styles */
-#index td, #index th {
- text-align: right;
- width: 5em;
- padding: .25em .5em;
- border-bottom: 1px solid #eee;
- }
-#index th {
- font-style: italic;
- color: #333;
- border-bottom: 1px solid #ccc;
- cursor: pointer;
- }
-#index th:hover {
- background: #eee;
- border-bottom: 1px solid #999;
- }
-#index td.left, #index th.left {
- padding-left: 0;
- }
-#index td.right, #index th.right {
- padding-right: 0;
- }
-#index th.headerSortDown, #index th.headerSortUp {
- border-bottom: 1px solid #000;
- }
-#index td.name, #index th.name {
- text-align: left;
- width: auto;
- }
-#index td.name a {
- text-decoration: none;
- color: #000;
- }
-#index td.name a:hover {
- text-decoration: underline;
- color: #000;
- }
-#index tr.total {
- }
-#index tr.total td {
- font-weight: bold;
- border-top: 1px solid #ccc;
- border-bottom: none;
- }
-#index tr.file:hover {
- background: #eeeeee;
- }