2019-05-27 06:55:21 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-only
|
2016-06-01 13:10:03 +00:00
|
|
|
/*
|
2016-10-25 12:00:45 +00:00
|
|
|
* dma-fence-array: aggregate fences to be waited together
|
2016-06-01 13:10:03 +00:00
|
|
|
*
|
|
|
|
* Copyright (C) 2016 Collabora Ltd
|
|
|
|
* Copyright (C) 2016 Advanced Micro Devices, Inc.
|
|
|
|
* Authors:
|
|
|
|
* Gustavo Padovan <gustavo@padovan.org>
|
|
|
|
* Christian König <christian.koenig@amd.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <linux/export.h>
|
|
|
|
#include <linux/slab.h>
|
2016-10-25 12:00:45 +00:00
|
|
|
#include <linux/dma-fence-array.h>
|
2016-06-01 13:10:03 +00:00
|
|
|
|
2019-08-11 21:09:02 +00:00
|
|
|
#define PENDING_ERROR 1
|
|
|
|
|
2016-10-25 12:00:45 +00:00
|
|
|
static const char *dma_fence_array_get_driver_name(struct dma_fence *fence)
|
2016-06-01 13:10:03 +00:00
|
|
|
{
|
2016-10-25 12:00:45 +00:00
|
|
|
return "dma_fence_array";
|
2016-06-01 13:10:03 +00:00
|
|
|
}
|
|
|
|
|
2016-10-25 12:00:45 +00:00
|
|
|
static const char *dma_fence_array_get_timeline_name(struct dma_fence *fence)
|
2016-06-01 13:10:03 +00:00
|
|
|
{
|
|
|
|
return "unbound";
|
|
|
|
}
|
|
|
|
|
2019-08-11 21:09:02 +00:00
|
|
|
static void dma_fence_array_set_pending_error(struct dma_fence_array *array,
|
|
|
|
int error)
|
|
|
|
{
|
|
|
|
/*
|
|
|
|
* Propagate the first error reported by any of our fences, but only
|
|
|
|
* before we ourselves are signaled.
|
|
|
|
*/
|
|
|
|
if (error)
|
|
|
|
cmpxchg(&array->base.error, PENDING_ERROR, error);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void dma_fence_array_clear_pending_error(struct dma_fence_array *array)
|
|
|
|
{
|
|
|
|
/* Clear the error flag if not actually set. */
|
|
|
|
cmpxchg(&array->base.error, PENDING_ERROR, 0);
|
|
|
|
}
|
|
|
|
|
dma-buf/fence: Fix lock inversion within dma-fence-array
Ages ago Rob Clark noted,
"Currently with fence-array, we have a potential deadlock situation. If
we fence_add_callback() on an array-fence, the array-fence's lock is
acquired first, and in it's ->enable_signaling() callback, it will install
cbs on it's array-member fences, so the array-member's lock is acquired
second.
But in the signal path, the array-member's lock is acquired first, and
the array-fence's lock acquired second."
Rob proposed either extensive changes to dma-fence to unnest the
fence-array signaling, or to defer the signaling onto a workqueue. This
is a more refined version of the later, that should keep the latency
of the fence signaling to a minimum by using an irq-work, which is
executed asap.
Reported-by: Rob Clark <robdclark@gmail.com>
Suggested-by: Rob Clark <robdclark@gmail.com>
References: 1476635975-21981-1-git-send-email-robdclark@gmail.com
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Christian König <christian.koenig@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20171114162719.30958-1-chris@chris-wilson.co.uk
2017-11-14 16:27:19 +00:00
|
|
|
static void irq_dma_fence_array_work(struct irq_work *wrk)
|
|
|
|
{
|
|
|
|
struct dma_fence_array *array = container_of(wrk, typeof(*array), work);
|
|
|
|
|
2019-08-11 21:09:02 +00:00
|
|
|
dma_fence_array_clear_pending_error(array);
|
|
|
|
|
dma-buf/fence: Fix lock inversion within dma-fence-array
Ages ago Rob Clark noted,
"Currently with fence-array, we have a potential deadlock situation. If
we fence_add_callback() on an array-fence, the array-fence's lock is
acquired first, and in it's ->enable_signaling() callback, it will install
cbs on it's array-member fences, so the array-member's lock is acquired
second.
But in the signal path, the array-member's lock is acquired first, and
the array-fence's lock acquired second."
Rob proposed either extensive changes to dma-fence to unnest the
fence-array signaling, or to defer the signaling onto a workqueue. This
is a more refined version of the later, that should keep the latency
of the fence signaling to a minimum by using an irq-work, which is
executed asap.
Reported-by: Rob Clark <robdclark@gmail.com>
Suggested-by: Rob Clark <robdclark@gmail.com>
References: 1476635975-21981-1-git-send-email-robdclark@gmail.com
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Christian König <christian.koenig@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20171114162719.30958-1-chris@chris-wilson.co.uk
2017-11-14 16:27:19 +00:00
|
|
|
dma_fence_signal(&array->base);
|
|
|
|
dma_fence_put(&array->base);
|
|
|
|
}
|
|
|
|
|
2016-10-25 12:00:45 +00:00
|
|
|
static void dma_fence_array_cb_func(struct dma_fence *f,
|
|
|
|
struct dma_fence_cb *cb)
|
2016-06-01 13:10:03 +00:00
|
|
|
{
|
2016-10-25 12:00:45 +00:00
|
|
|
struct dma_fence_array_cb *array_cb =
|
|
|
|
container_of(cb, struct dma_fence_array_cb, cb);
|
|
|
|
struct dma_fence_array *array = array_cb->array;
|
2016-06-01 13:10:03 +00:00
|
|
|
|
2019-08-11 21:09:02 +00:00
|
|
|
dma_fence_array_set_pending_error(array, f->error);
|
|
|
|
|
2016-06-01 13:10:03 +00:00
|
|
|
if (atomic_dec_and_test(&array->num_pending))
|
dma-buf/fence: Fix lock inversion within dma-fence-array
Ages ago Rob Clark noted,
"Currently with fence-array, we have a potential deadlock situation. If
we fence_add_callback() on an array-fence, the array-fence's lock is
acquired first, and in it's ->enable_signaling() callback, it will install
cbs on it's array-member fences, so the array-member's lock is acquired
second.
But in the signal path, the array-member's lock is acquired first, and
the array-fence's lock acquired second."
Rob proposed either extensive changes to dma-fence to unnest the
fence-array signaling, or to defer the signaling onto a workqueue. This
is a more refined version of the later, that should keep the latency
of the fence signaling to a minimum by using an irq-work, which is
executed asap.
Reported-by: Rob Clark <robdclark@gmail.com>
Suggested-by: Rob Clark <robdclark@gmail.com>
References: 1476635975-21981-1-git-send-email-robdclark@gmail.com
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Christian König <christian.koenig@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20171114162719.30958-1-chris@chris-wilson.co.uk
2017-11-14 16:27:19 +00:00
|
|
|
irq_work_queue(&array->work);
|
|
|
|
else
|
|
|
|
dma_fence_put(&array->base);
|
2016-06-01 13:10:03 +00:00
|
|
|
}
|
|
|
|
|
2016-10-25 12:00:45 +00:00
|
|
|
static bool dma_fence_array_enable_signaling(struct dma_fence *fence)
|
2016-06-01 13:10:03 +00:00
|
|
|
{
|
2016-10-25 12:00:45 +00:00
|
|
|
struct dma_fence_array *array = to_dma_fence_array(fence);
|
2024-11-21 22:32:33 +00:00
|
|
|
struct dma_fence_array_cb *cb = array->callbacks;
|
2016-06-01 13:10:03 +00:00
|
|
|
unsigned i;
|
|
|
|
|
|
|
|
for (i = 0; i < array->num_fences; ++i) {
|
|
|
|
cb[i].array = array;
|
2016-06-01 13:10:04 +00:00
|
|
|
/*
|
|
|
|
* As we may report that the fence is signaled before all
|
|
|
|
* callbacks are complete, we need to take an additional
|
|
|
|
* reference count on the array so that we do not free it too
|
|
|
|
* early. The core fence handling will only hold the reference
|
|
|
|
* until we signal the array as complete (but that is now
|
|
|
|
* insufficient).
|
|
|
|
*/
|
2016-10-25 12:00:45 +00:00
|
|
|
dma_fence_get(&array->base);
|
|
|
|
if (dma_fence_add_callback(array->fences[i], &cb[i].cb,
|
|
|
|
dma_fence_array_cb_func)) {
|
2019-08-11 21:09:02 +00:00
|
|
|
int error = array->fences[i]->error;
|
|
|
|
|
|
|
|
dma_fence_array_set_pending_error(array, error);
|
2016-10-25 12:00:45 +00:00
|
|
|
dma_fence_put(&array->base);
|
2019-08-11 21:09:02 +00:00
|
|
|
if (atomic_dec_and_test(&array->num_pending)) {
|
|
|
|
dma_fence_array_clear_pending_error(array);
|
2016-06-01 13:10:03 +00:00
|
|
|
return false;
|
2019-08-11 21:09:02 +00:00
|
|
|
}
|
2016-06-01 13:10:04 +00:00
|
|
|
}
|
2016-06-01 13:10:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2016-10-25 12:00:45 +00:00
|
|
|
static bool dma_fence_array_signaled(struct dma_fence *fence)
|
2016-06-01 13:10:03 +00:00
|
|
|
{
|
2016-10-25 12:00:45 +00:00
|
|
|
struct dma_fence_array *array = to_dma_fence_array(fence);
|
2025-01-10 11:18:36 +00:00
|
|
|
int num_pending;
|
|
|
|
unsigned int i;
|
2016-06-01 13:10:03 +00:00
|
|
|
|
2025-01-10 11:18:36 +00:00
|
|
|
/*
|
|
|
|
* We need to read num_pending before checking the enable_signal bit
|
|
|
|
* to avoid racing with the enable_signaling() implementation, which
|
|
|
|
* might decrement the counter, and cause a partial check.
|
|
|
|
* atomic_read_acquire() pairs with atomic_dec_and_test() in
|
|
|
|
* dma_fence_array_enable_signaling()
|
|
|
|
*
|
|
|
|
* The !--num_pending check is here to account for the any_signaled case
|
|
|
|
* if we race with enable_signaling(), that means the !num_pending check
|
|
|
|
* in the is_signalling_enabled branch might be outdated (num_pending
|
|
|
|
* might have been decremented), but that's fine. The user will get the
|
|
|
|
* right value when testing again later.
|
|
|
|
*/
|
|
|
|
num_pending = atomic_read_acquire(&array->num_pending);
|
|
|
|
if (test_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT, &array->base.flags)) {
|
|
|
|
if (num_pending <= 0)
|
|
|
|
goto signal;
|
2022-05-23 17:15:52 +00:00
|
|
|
return false;
|
2025-01-10 11:18:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < array->num_fences; ++i) {
|
|
|
|
if (dma_fence_is_signaled(array->fences[i]) && !--num_pending)
|
|
|
|
goto signal;
|
|
|
|
}
|
|
|
|
return false;
|
2022-05-23 17:15:52 +00:00
|
|
|
|
2025-01-10 11:18:36 +00:00
|
|
|
signal:
|
2022-05-23 17:15:52 +00:00
|
|
|
dma_fence_array_clear_pending_error(array);
|
|
|
|
return true;
|
2016-06-01 13:10:03 +00:00
|
|
|
}
|
|
|
|
|
2016-10-25 12:00:45 +00:00
|
|
|
static void dma_fence_array_release(struct dma_fence *fence)
|
2016-06-01 13:10:03 +00:00
|
|
|
{
|
2016-10-25 12:00:45 +00:00
|
|
|
struct dma_fence_array *array = to_dma_fence_array(fence);
|
2016-06-01 13:10:03 +00:00
|
|
|
unsigned i;
|
|
|
|
|
|
|
|
for (i = 0; i < array->num_fences; ++i)
|
2016-10-25 12:00:45 +00:00
|
|
|
dma_fence_put(array->fences[i]);
|
2016-06-01 13:10:03 +00:00
|
|
|
|
|
|
|
kfree(array->fences);
|
2016-10-25 12:00:45 +00:00
|
|
|
dma_fence_free(fence);
|
2016-06-01 13:10:03 +00:00
|
|
|
}
|
|
|
|
|
Merge DRM changes from upstream v6.3..v6.4
NOTE: This commit does not compile due to missing RHEL-specific fix-ups,
which are split out into separate Git commits following this one.
If git bisect selected this commit, run "git bisect skip" and try again.
Repeat this until it selects a commit which compiles.
This commit was generated using:
rhdrm-merge-drm v6.4 RHEL-1350
JIRA: https://issues.redhat.com/browse/RHEL-1350
Conflicts:
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
drivers/gpu/drm/amd/display/dc/core/dc.c
drivers/gpu/drm/amd/display/dc/dc.h
drivers/gpu/drm/amd/display/dc/dc_dp_types.h
drivers/gpu/drm/amd/display/dc/dc_types.h
drivers/gpu/drm/amd/display/dc/dcn314/dcn314_hwseq.h
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource_helpers.c
drivers/gpu/drm/amd/display/dc/inc/link.h
drivers/gpu/drm/amd/display/dc/link/accessories/link_dp_cts.c
drivers/gpu/drm/amd/display/dc/link/link_detection.c
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_dpia_bw.c
drivers/gpu/drm/drm_displayid.c
drivers/gpu/drm/drm_fb_helper.c
drivers/gpu/drm/gma500/framebuffer.c
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
drivers/gpu/drm/i915/gt/intel_workarounds.c
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
Conflict resolution:
diff --cc drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 0eb51c3a69a7,7acd73e5004f..11e99e8ca7ba
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@@ -350,35 -348,46 +348,75 @@@ static inline bool is_dc_timing_adjust_
return false;
}
+ static inline void reverse_planes_order(struct dc_surface_update *array_of_surface_update,
+ int planes_count)
+ {
+ int i, j;
+
+ for (i = 0, j = planes_count - 1; i < j; i++, j--)
+ swap(array_of_surface_update[i], array_of_surface_update[j]);
+ }
+
+ /**
+ * update_planes_and_stream_adapter() - Send planes to be updated in DC
+ *
+ * DC has a generic way to update planes and stream via
+ * dc_update_planes_and_stream function; however, DM might need some
+ * adjustments and preparation before calling it. This function is a wrapper
+ * for the dc_update_planes_and_stream that does any required configuration
+ * before passing control to DC.
+ */
+ static inline bool update_planes_and_stream_adapter(struct dc *dc,
+ int update_type,
+ int planes_count,
+ struct dc_stream_state *stream,
+ struct dc_stream_update *stream_update,
+ struct dc_surface_update *array_of_surface_update)
+ {
+ reverse_planes_order(array_of_surface_update, planes_count);
+
+ /*
+ * Previous frame finished and HW is ready for optimization.
+ */
+ if (update_type == UPDATE_TYPE_FAST)
+ dc_post_update_surfaces_to_stream(dc);
+
+ return dc_update_planes_and_stream(dc,
+ array_of_surface_update,
+ planes_count,
+ stream,
+ stream_update);
+ }
+
+/**
+ * update_planes_and_stream_adapter() - Send planes to be updated in DC
+ *
+ * DC has a generic way to update planes and stream via
+ * dc_update_planes_and_stream function; however, DM might need some
+ * adjustments and preparation before calling it. This function is a wrapper
+ * for the dc_update_planes_and_stream that does any required configuration
+ * before passing control to DC.
+ */
+static inline bool update_planes_and_stream_adapter(struct dc *dc,
+ int update_type,
+ int planes_count,
+ struct dc_stream_state *stream,
+ struct dc_stream_update *stream_update,
+ struct dc_surface_update *array_of_surface_update)
+{
+ /*
+ * Previous frame finished and HW is ready for optimization.
+ */
+ if (update_type == UPDATE_TYPE_FAST)
+ dc_post_update_surfaces_to_stream(dc);
+
+ return dc_update_planes_and_stream(dc,
+ array_of_surface_update,
+ planes_count,
+ stream,
+ stream_update);
+}
+
/**
* dm_pflip_high_irq() - Handle pageflip interrupt
* @interrupt_params: ignored
@@@ -7901,16 -7905,16 +7931,23 @@@ static void amdgpu_dm_commit_cursors(st
*/
for_each_old_plane_in_state(state, plane, old_plane_state, i)
if (plane->type == DRM_PLANE_TYPE_CURSOR)
- handle_cursor_update(plane, old_plane_state);
+ amdgpu_dm_plane_handle_cursor_update(plane, old_plane_state);
+ }
+
+ static inline uint32_t get_mem_type(struct drm_framebuffer *fb)
+ {
+ struct amdgpu_bo *abo = gem_to_amdgpu_bo(fb->obj[0]);
+
+ return abo->tbo.resource ? abo->tbo.resource->mem_type : 0;
}
+static inline uint32_t get_mem_type(struct drm_framebuffer *fb)
+{
+ struct amdgpu_bo *abo = gem_to_amdgpu_bo(fb->obj[0]);
+
+ return abo->tbo.resource ? abo->tbo.resource->mem_type : 0;
+}
+
static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
struct dc_state *dc_state,
struct drm_device *dev,
diff --cc drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
index 862cb0f93b7d,18e098568cb4..3f047c985406
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
@@@ -142,49 -134,347 +134,391 @@@ void dc_restore_link_res_map(const stru
bool dc_link_update_dsc_config(struct pipe_ctx *pipe_ctx)
{
- return link_update_dsc_config(pipe_ctx);
+ struct dc_link *link = pipe_ctx->stream->link;
+
+ return link->dc->link_srv->update_dsc_config(pipe_ctx);
+ }
+
+ bool dc_is_oem_i2c_device_present(
+ struct dc *dc,
+ size_t slave_address)
+ {
+ if (dc->res_pool->oem_device)
+ return dce_i2c_oem_device_present(
+ dc->res_pool,
+ dc->res_pool->oem_device,
+ slave_address);
+
+ return false;
+ }
+
+ bool dc_submit_i2c(
+ struct dc *dc,
+ uint32_t link_index,
+ struct i2c_command *cmd)
+ {
+
+ struct dc_link *link = dc->links[link_index];
+ struct ddc_service *ddc = link->ddc;
+
+ return dce_i2c_submit_command(
+ dc->res_pool,
+ ddc->ddc_pin,
+ cmd);
+ }
+
+ bool dc_submit_i2c_oem(
+ struct dc *dc,
+ struct i2c_command *cmd)
+ {
+ struct ddc_service *ddc = dc->res_pool->oem_device;
+
+ if (ddc)
+ return dce_i2c_submit_command(
+ dc->res_pool,
+ ddc->ddc_pin,
+ cmd);
+
+ return false;
+ }
+
+ void dc_link_dp_handle_automated_test(struct dc_link *link)
+ {
+ link->dc->link_srv->dp_handle_automated_test(link);
+ }
+
+ bool dc_link_dp_set_test_pattern(
+ struct dc_link *link,
+ enum dp_test_pattern test_pattern,
+ enum dp_test_pattern_color_space test_pattern_color_space,
+ const struct link_training_settings *p_link_settings,
+ const unsigned char *p_custom_pattern,
+ unsigned int cust_pattern_size)
+ {
+ return link->dc->link_srv->dp_set_test_pattern(link, test_pattern,
+ test_pattern_color_space, p_link_settings,
+ p_custom_pattern, cust_pattern_size);
+ }
+
+ void dc_link_set_drive_settings(struct dc *dc,
+ struct link_training_settings *lt_settings,
+ struct dc_link *link)
+ {
+ struct link_resource link_res;
+
+ dc->link_srv->get_cur_link_res(link, &link_res);
+ dc->link_srv->dp_set_drive_settings(link, &link_res, lt_settings);
+ }
+
+ void dc_link_set_preferred_link_settings(struct dc *dc,
+ struct dc_link_settings *link_setting,
+ struct dc_link *link)
+ {
+ dc->link_srv->dp_set_preferred_link_settings(dc, link_setting, link);
+ }
+
+ void dc_link_set_preferred_training_settings(struct dc *dc,
+ struct dc_link_settings *link_setting,
+ struct dc_link_training_overrides *lt_overrides,
+ struct dc_link *link,
+ bool skip_immediate_retrain)
+ {
+ dc->link_srv->dp_set_preferred_training_settings(dc, link_setting,
+ lt_overrides, link, skip_immediate_retrain);
+ }
+
+ bool dc_dp_trace_is_initialized(struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_trace_is_initialized(link);
+ }
+
+ void dc_dp_trace_set_is_logged_flag(struct dc_link *link,
+ bool in_detection,
+ bool is_logged)
+ {
+ link->dc->link_srv->dp_trace_set_is_logged_flag(link, in_detection, is_logged);
+ }
+
+ bool dc_dp_trace_is_logged(struct dc_link *link, bool in_detection)
+ {
+ return link->dc->link_srv->dp_trace_is_logged(link, in_detection);
+ }
+
+ unsigned long long dc_dp_trace_get_lt_end_timestamp(struct dc_link *link,
+ bool in_detection)
+ {
+ return link->dc->link_srv->dp_trace_get_lt_end_timestamp(link, in_detection);
+ }
+
+ const struct dp_trace_lt_counts *dc_dp_trace_get_lt_counts(struct dc_link *link,
+ bool in_detection)
+ {
+ return link->dc->link_srv->dp_trace_get_lt_counts(link, in_detection);
+ }
+
+ unsigned int dc_dp_trace_get_link_loss_count(struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_trace_get_link_loss_count(link);
+ }
+
+ struct dc_sink *dc_link_add_remote_sink(
+ struct dc_link *link,
+ const uint8_t *edid,
+ int len,
+ struct dc_sink_init_data *init_data)
+ {
+ return link->dc->link_srv->add_remote_sink(link, edid, len, init_data);
+ }
+
+ void dc_link_remove_remote_sink(struct dc_link *link, struct dc_sink *sink)
+ {
+ link->dc->link_srv->remove_remote_sink(link, sink);
+ }
+
+ int dc_link_aux_transfer_raw(struct ddc_service *ddc,
+ struct aux_payload *payload,
+ enum aux_return_code_type *operation_result)
+ {
+ const struct dc *dc = ddc->link->dc;
+
+ return dc->link_srv->aux_transfer_raw(
+ ddc, payload, operation_result);
+ }
+
+ uint32_t dc_link_bw_kbps_from_raw_frl_link_rate_data(const struct dc *dc, uint8_t bw)
+ {
+ return dc->link_srv->bw_kbps_from_raw_frl_link_rate_data(bw);
+ }
+
+ bool dc_link_decide_edp_link_settings(struct dc_link *link,
+ struct dc_link_settings *link_setting, uint32_t req_bw)
+ {
+ return link->dc->link_srv->edp_decide_link_settings(link, link_setting, req_bw);
+ }
+
+
+ bool dc_link_dp_get_max_link_enc_cap(const struct dc_link *link,
+ struct dc_link_settings *max_link_enc_cap)
+ {
+ return link->dc->link_srv->dp_get_max_link_enc_cap(link, max_link_enc_cap);
+ }
+
+ enum dp_link_encoding dc_link_dp_mst_decide_link_encoding_format(
+ const struct dc_link *link)
+ {
+ return link->dc->link_srv->mst_decide_link_encoding_format(link);
+ }
+
+ const struct dc_link_settings *dc_link_get_link_cap(const struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_get_verified_link_cap(link);
+ }
+
+ bool dc_link_is_dp_sink_present(struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_is_sink_present(link);
+ }
+
+ bool dc_link_is_fec_supported(const struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_is_fec_supported(link);
+ }
+
+ void dc_link_overwrite_extended_receiver_cap(
+ struct dc_link *link)
+ {
+ link->dc->link_srv->dp_overwrite_extended_receiver_cap(link);
+ }
+
+ bool dc_link_should_enable_fec(const struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_should_enable_fec(link);
+ }
+
+ int dc_link_dp_dpia_handle_usb4_bandwidth_allocation_for_link(
+ struct dc_link *link, int peak_bw)
+ {
+ return link->dc->link_srv->dpia_handle_usb4_bandwidth_allocation_for_link(link, peak_bw);
+ }
+
+ void dc_link_handle_usb4_bw_alloc_response(struct dc_link *link, uint8_t bw, uint8_t result)
+ {
+ link->dc->link_srv->dpia_handle_bw_alloc_response(link, bw, result);
+ }
+
+ bool dc_link_check_link_loss_status(
+ struct dc_link *link,
+ union hpd_irq_data *hpd_irq_dpcd_data)
+ {
+ return link->dc->link_srv->dp_parse_link_loss_status(link, hpd_irq_dpcd_data);
+ }
+
+ bool dc_link_dp_allow_hpd_rx_irq(const struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_should_allow_hpd_rx_irq(link);
+ }
+
+ void dc_link_dp_handle_link_loss(struct dc_link *link)
+ {
+ link->dc->link_srv->dp_handle_link_loss(link);
+ }
+
+ enum dc_status dc_link_dp_read_hpd_rx_irq_data(
+ struct dc_link *link,
+ union hpd_irq_data *irq_data)
+ {
+ return link->dc->link_srv->dp_read_hpd_rx_irq_data(link, irq_data);
+ }
+
+ bool dc_link_handle_hpd_rx_irq(struct dc_link *link,
+ union hpd_irq_data *out_hpd_irq_dpcd_data, bool *out_link_loss,
+ bool defer_handling, bool *has_left_work)
+ {
+ return link->dc->link_srv->dp_handle_hpd_rx_irq(link, out_hpd_irq_dpcd_data,
+ out_link_loss, defer_handling, has_left_work);
+ }
+
+ void dc_link_dp_receiver_power_ctrl(struct dc_link *link, bool on)
+ {
+ link->dc->link_srv->dpcd_write_rx_power_ctrl(link, on);
+ }
+
+ enum lttpr_mode dc_link_decide_lttpr_mode(struct dc_link *link,
+ struct dc_link_settings *link_setting)
+ {
+ return link->dc->link_srv->dp_decide_lttpr_mode(link, link_setting);
+ }
+
+ void dc_link_edp_panel_backlight_power_on(struct dc_link *link, bool wait_for_hpd)
+ {
+ link->dc->link_srv->edp_panel_backlight_power_on(link, wait_for_hpd);
+ }
+
+ int dc_link_get_backlight_level(const struct dc_link *link)
+ {
+ return link->dc->link_srv->edp_get_backlight_level(link);
+ }
+
+ bool dc_link_get_backlight_level_nits(struct dc_link *link,
+ uint32_t *backlight_millinits_avg,
+ uint32_t *backlight_millinits_peak)
+ {
+ return link->dc->link_srv->edp_get_backlight_level_nits(link,
+ backlight_millinits_avg,
+ backlight_millinits_peak);
+ }
+
+ bool dc_link_set_backlight_level(const struct dc_link *link,
+ uint32_t backlight_pwm_u16_16,
+ uint32_t frame_ramp)
+ {
+ return link->dc->link_srv->edp_set_backlight_level(link,
+ backlight_pwm_u16_16, frame_ramp);
+ }
+
+ bool dc_link_set_backlight_level_nits(struct dc_link *link,
+ bool isHDR,
+ uint32_t backlight_millinits,
+ uint32_t transition_time_in_ms)
+ {
+ return link->dc->link_srv->edp_set_backlight_level_nits(link, isHDR,
+ backlight_millinits, transition_time_in_ms);
+ }
+
+ int dc_link_get_target_backlight_pwm(const struct dc_link *link)
+ {
+ return link->dc->link_srv->edp_get_target_backlight_pwm(link);
+ }
+
+ bool dc_link_get_psr_state(const struct dc_link *link, enum dc_psr_state *state)
+ {
+ return link->dc->link_srv->edp_get_psr_state(link, state);
+ }
+
+ bool dc_link_set_psr_allow_active(struct dc_link *link, const bool *allow_active,
+ bool wait, bool force_static, const unsigned int *power_opts)
+ {
+ return link->dc->link_srv->edp_set_psr_allow_active(link, allow_active, wait,
+ force_static, power_opts);
+ }
+
+ bool dc_link_setup_psr(struct dc_link *link,
+ const struct dc_stream_state *stream, struct psr_config *psr_config,
+ struct psr_context *psr_context)
+ {
+ return link->dc->link_srv->edp_setup_psr(link, stream, psr_config, psr_context);
+ }
+
+ bool dc_link_wait_for_t12(struct dc_link *link)
+ {
+ return link->dc->link_srv->edp_wait_for_t12(link);
+ }
+
+ bool dc_link_get_hpd_state(struct dc_link *link)
+ {
+ return link->dc->link_srv->get_hpd_state(link);
+ }
+
+ void dc_link_enable_hpd(const struct dc_link *link)
+ {
+ link->dc->link_srv->enable_hpd(link);
+ }
+
+ void dc_link_disable_hpd(const struct dc_link *link)
+ {
+ link->dc->link_srv->disable_hpd(link);
+ }
+
+ void dc_link_enable_hpd_filter(struct dc_link *link, bool enable)
+ {
+ link->dc->link_srv->enable_hpd_filter(link, enable);
+ }
+
+ bool dc_link_validate(struct dc *dc, const struct dc_stream_state *streams, const unsigned int count)
+ {
+ return dc->link_srv->validate_dpia_bandwidth(streams, count);
}
+
+bool dc_is_oem_i2c_device_present(
+ struct dc *dc,
+ size_t slave_address)
+{
+ if (dc->res_pool->oem_device)
+ return dce_i2c_oem_device_present(
+ dc->res_pool,
+ dc->res_pool->oem_device,
+ slave_address);
+
+ return false;
+}
+
+bool dc_submit_i2c(
+ struct dc *dc,
+ uint32_t link_index,
+ struct i2c_command *cmd)
+{
+
+ struct dc_link *link = dc->links[link_index];
+ struct ddc_service *ddc = link->ddc;
+
+ return dce_i2c_submit_command(
+ dc->res_pool,
+ ddc->ddc_pin,
+ cmd);
+}
+
+bool dc_submit_i2c_oem(
+ struct dc *dc,
+ struct i2c_command *cmd)
+{
+ struct ddc_service *ddc = dc->res_pool->oem_device;
+
+ if (ddc)
+ return dce_i2c_submit_command(
+ dc->res_pool,
+ ddc->ddc_pin,
+ cmd);
+
+ return false;
+}
+
diff --cc drivers/gpu/drm/amd/display/dc/dc.h
index 9307442dc225,30f0ba05a6e6..49ac369cc926
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@@ -1663,39 -1664,36 +1664,83 @@@ bool dc_is_oem_i2c_device_present
/* return true if the connected receiver supports the hdcp version */
bool dc_link_is_hdcp14(struct dc_link *link, enum signal_type signal);
bool dc_link_is_hdcp22(struct dc_link *link, enum signal_type signal);
- #endif
+
+ /* Notify DC about DP RX Interrupt (aka DP IRQ_HPD).
+ *
+ * TODO - When defer_handling is true the function will have a different purpose.
+ * It no longer does complete hpd rx irq handling. We should create a separate
+ * interface specifically for this case.
+ *
+ * Return:
+ * true - Downstream port status changed. DM should call DC to do the
+ * detection.
+ * false - no change in Downstream port status. No further action required
+ * from DM.
+ */
+ bool dc_link_handle_hpd_rx_irq(struct dc_link *dc_link,
+ union hpd_irq_data *hpd_irq_dpcd_data, bool *out_link_loss,
+ bool defer_handling, bool *has_left_work);
+ /* handle DP specs define test automation sequence*/
+ void dc_link_dp_handle_automated_test(struct dc_link *link);
+
+ /* handle DP Link loss sequence and try to recover RX link loss with best
+ * effort
+ */
+ void dc_link_dp_handle_link_loss(struct dc_link *link);
+
+ /* Determine if hpd rx irq should be handled or ignored
+ * return true - hpd rx irq should be handled.
+ * return false - it is safe to ignore hpd rx irq event
+ */
+ bool dc_link_dp_allow_hpd_rx_irq(const struct dc_link *link);
+
++/* Determine if link loss is indicated with a given hpd_irq_dpcd_data.
++ * @link - link the hpd irq data associated with
++ * @hpd_irq_dpcd_data - input hpd irq data
++ * return - true if hpd irq data indicates a link lost
++ */
++bool dc_link_check_link_loss_status(struct dc_link *link,
++ union hpd_irq_data *hpd_irq_dpcd_data);
++
++/* Read hpd rx irq data from a given link
++ * @link - link where the hpd irq data should be read from
++ * @irq_data - output hpd irq data
++ * return - DC_OK if hpd irq data is read successfully, otherwise hpd irq data
++ * read has failed.
++ */
++enum dc_status dc_link_dp_read_hpd_rx_irq_data(
++ struct dc_link *link,
++ union hpd_irq_data *irq_data);
+
+/* Notify DC about DP RX Interrupt (aka DP IRQ_HPD).
+ *
+ * TODO - When defer_handling is true the function will have a different purpose.
+ * It no longer does complete hpd rx irq handling. We should create a separate
+ * interface specifically for this case.
+ *
+ * Return:
+ * true - Downstream port status changed. DM should call DC to do the
+ * detection.
+ * false - no change in Downstream port status. No further action required
+ * from DM.
+ */
+bool dc_link_handle_hpd_rx_irq(struct dc_link *dc_link,
+ union hpd_irq_data *hpd_irq_dpcd_data, bool *out_link_loss,
+ bool defer_handling, bool *has_left_work);
+/* handle DP specs define test automation sequence*/
+void dc_link_dp_handle_automated_test(struct dc_link *link);
+
+/* handle DP Link loss sequence and try to recover RX link loss with best
+ * effort
+ */
+void dc_link_dp_handle_link_loss(struct dc_link *link);
+
+/* Determine if hpd rx irq should be handled or ignored
+ * return true - hpd rx irq should be handled.
+ * return false - it is safe to ignore hpd rx irq event
+ */
+bool dc_link_dp_allow_hpd_rx_irq(const struct dc_link *link);
+
/* Determine if link loss is indicated with a given hpd_irq_dpcd_data.
* @link - link the hpd irq data associated with
* @hpd_irq_dpcd_data - input hpd irq data
diff --cc drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource_helpers.c
index 91b59d858108,eeca16faf31a..35333daf4cd9
--- a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource_helpers.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource_helpers.c
@@@ -297,12 -309,33 +307,32 @@@ void dcn32_determine_det_override(struc
struct dc_plane_state *current_plane = NULL;
uint8_t stream_count = 0;
+ int phy_pix_clk_mult, lower_mode_stream_index;
+ int phy_pix_clk[MAX_PIPES] = {0};
+ bool use_new_det_override_algorithm = false;
+
for (i = 0; i < context->stream_count; i++) {
/* Don't count SubVP streams for DET allocation */
- if (context->streams[i]->mall_stream_config.type != SUBVP_PHANTOM)
+ if (context->streams[i]->mall_stream_config.type != SUBVP_PHANTOM) {
+ phy_pix_clk[i] = context->streams[i]->phy_pix_clk;
stream_count++;
+ }
}
+ /* Check for special case with two displays, one with much higher pixel rate */
+ if (stream_count == 2) {
+ ASSERT((phy_pix_clk[0] > 0) && (phy_pix_clk[1] > 0));
+ if (phy_pix_clk[0] < phy_pix_clk[1]) {
+ lower_mode_stream_index = 0;
+ phy_pix_clk_mult = phy_pix_clk[1] / phy_pix_clk[0];
+ } else {
+ lower_mode_stream_index = 1;
+ phy_pix_clk_mult = phy_pix_clk[0] / phy_pix_clk[1];
+ }
+
+ if (phy_pix_clk_mult >= DCN3_2_NEW_DET_OVERRIDE_MIN_MULTIPLIER)
+ use_new_det_override_algorithm = true;
+ }
+
if (stream_count > 0) {
stream_segments = 18 / stream_count;
for (i = 0; i < context->stream_count; i++) {
diff --cc drivers/gpu/drm/amd/display/dc/link/link_detection.c
index 8145d208512d,d471d58aba92..ee16d94b2b63
--- a/drivers/gpu/drm/amd/display/dc/link/link_detection.c
+++ b/drivers/gpu/drm/amd/display/dc/link/link_detection.c
@@@ -1334,7 -1331,7 +1331,6 @@@ const struct dc_link_status *link_get_s
return &link->link_status;
}
--
static bool link_add_remote_sink_helper(struct dc_link *dc_link, struct dc_sink *sink)
{
if (dc_link->sink_count >= MAX_SINKS_PER_LINK) {
diff --cc drivers/gpu/drm/bridge/tc358767.c
index 232e23a1bfcc,91f7cb56a654..d6349af4f1b6
--- a/drivers/gpu/drm/bridge/tc358767.c
+++ b/drivers/gpu/drm/bridge/tc358767.c
@@@ -1896,12 -1896,12 +1896,12 @@@ static int tc_mipi_dsi_host_attach(stru
"failed to create dsi device\n");
tc->dsi = dsi;
-
dsi->lanes = dsi_lanes;
dsi->format = MIPI_DSI_FMT_RGB888;
- dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE;
+ dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
+ MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS;
- ret = mipi_dsi_attach(dsi);
+ ret = devm_mipi_dsi_attach(dev, dsi);
if (ret < 0) {
dev_err(dev, "failed to attach dsi to host: %d\n", ret);
return ret;
diff --cc drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
index 8035e50f7422,3aeede6aee4d..ae367d473200
--- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
@@@ -2467,7 -2462,7 +2462,7 @@@ gen8_dispatch_bsd_engine(struct drm_i91
/* Check whether the file_priv has already selected one ring. */
if ((int)file_priv->bsd_engine < 0)
file_priv->bsd_engine =
- prandom_u32_max(num_vcs_engines(dev_priv));
- get_random_u32_below(dev_priv->engine_uabi_class_count[I915_ENGINE_CLASS_VIDEO]);
++ prandom_u32_max(dev_priv->engine_uabi_class_count[I915_ENGINE_CLASS_VIDEO]);
return file_priv->bsd_engine;
}
Commit list:
commit cbf143b282c64e59559cc8351c0b5b1ab4bbdcbe
commit d33a54e3991dfce88b4fc6d9c3360951c2c5660d
commit d703a0f45a70e6ed4749780ed5efb2d1ec042297
commit e566507bf2f460967f53030ef84b67ef26dcaf8e
commit 851a4a77a9f6441bd73625fe6dbc29c814ae681f
commit 18d2f6d956d0a39d5a27b0512aee17cb253f5788
commit 413ebc4803f025c64ec80de07c50e65e2f59ae89
commit 19ff997ffc43cb203fb7d6ac169b69e26c7dcbfb
commit 249a4f5e663ccd1c1b1d11db68020e488a020791
commit 357513233d6456c9f99e34794897efd4ae907e83
commit 6d8d5c6b643062a0dfc7632f7a73057e75fca057
commit 680d0c7960f12fc3852c70b2bab278cc5e70b88a
commit 7b775d36589390eaf19ceada78141c60ed1c7c84
commit f3783aa6b871ffece27388076d2c200a22bdb162
commit c886118bd8f574a635dda176b2460c03c28b1177
commit 0d6e08c72474043d7e686c32f25b735bfcdc9daa
commit 220b3376c0781ec46cf86e19b7460e7e1ccf913d
commit 6e52ced02392c760936159cc53da5669c94dd9a3
commit d374c047b38e9f1130308aae207dc44045cd5cac
commit 9b469093d321f23adf13d966797f55242278c3b5
commit 24efe424f096953d355cc366cdd471ba8cdaf035
commit 2b6f7e39ccae065abfbe3b6e562ec95ccad09f1e
commit 60bb4478f7de8ad45bc9464f94d766d8ec807606
commit fceeca7f3cf1c2b8628cd76c936b51271b793b1b
commit 28cbe92b59d7b8b1768f1900f677cf8567edd0bd
commit 1a45d6811c8790f4f9821038b243a71c9be1ebe2
commit d023d6f741c85bb00d2ca43d338327fbc150c113
commit c22cf04c6ab1d9ad5be2ec36e9822bc45526e8ca
commit 9d691c197631f152d7dc6788098f372b64d3bc43
commit d1702963ab145eff51c31e5fdc2867e9c5959ad5
commit 69ea87e1591a39dd53968f2f5d496f0f9499ad74
commit 3c4b33d0e67ddb900efa7a0eabd33a667c699ff9
commit 9c608cf39b96666ecbc163e3f6197f6d8ea78e56
commit 33d0c67dcbb045cbbbba9d41fa6e4b1f73bf3888
commit c76f67275f9c60d7ff53b6a90e90897c207d3d9c
commit 2324cdfffbaf0bc2404d919d9920b09148f8645f
commit 9dd56e979cb69f5cd904574c852b620777a2f69f
commit 16bede135fb1319c22dfa55b2de20f482fcc9cd9
commit 77d3b6130203299123d17df78b843f193c18b25f
commit 7f66476c930cdb5e0bc4dc563f241498a3791f99
commit 19d7dc6638a92535769b9ecc2b04a7f3afa0a7ed
commit 7fd7eacff0dec488071b5f1fedfcd382bf3ac074
commit 2a6d731a8f16192ece8e1649ca13e55d80561594
commit df5bf3b942a8d344bd9cbbe6ac31c9a2ea1557a4
commit c913cd5489930abbb557ef144a333846286754c3
commit 73a6c676542ac18d2556be80260bf554f1cef4ae
commit c580c2d27ac8754cc6f01da1d715b7272f5f9cbb
commit 43e6fad17a182de1825277d986a1e4309111e5b7
commit 9541fd164bddde24eb575c5744b6a31a6f62213e
commit 14f25bd0bb938af7359433db4ef9495aad4cf703
commit 4fae160fde76e9dc929ba57ec0efbbc1197daaf0
commit 1f16fdbb2a5a7504fcc4be057000e589cb427fbd
commit e4ef6503bd4c4ee6fbed2623c50a338dc93d5e9e
commit 23cc452e9b6186d6a8c1ddb380a0193652ea6579
commit 3965b8812e173c38b2fd1872dc3e08f436311575
commit da97065e4692247767d2a7f2850d193eb2f65229
commit 247c7a4cdad87564da49a7879aca2f0653689502
commit 5dfb29d444daf94120762e9d7b9fe6aa4e0f9929
commit 1af546c2cec6e28b6bbe01a4ad0c38e96e54fcb4
commit 7206b517665e8b59d7e18877d9741da193cd3325
commit 4b284831c6f3656627958bced181215e7b9fd322
commit 36e491f8f6e9bd9460923da48b2e516aafb80bb2
commit 01f0411f8e307e7154d062f62d4b0799b8498748
commit 960dafa30455450d318756a9896a02727f2639e0
commit fde789e8339c60c8c58e5a71fa819fcfe52d839e
commit 58c7ee0676bace7a7aae8a3e21ec8d09eab1c895
commit 24243212c5ed2a5f3c1d1d74fd1913d8c189dec7
commit 1802537820389183dfcd814e0f6a60d1496a75ef
commit c7ea16f6a47f9b6eca4e9cdcab8d1f587ea9e484
commit f87c1f0b7b79b7a4f165750d1884da1fd29ae93c
commit 0349c41b05968befaffa5fbb7e73d0ee6004f610
commit 54762e920eb483bd70aa92421788bc4e87e4fd1d
commit ec852e3c88d5caa457557406c0c787b56c36dffb
commit 389b9d91dd57fd2d4428bd0c19ed1cacf2fe918d
commit e3ea1806e4ad097c9e67e108853a4ae0f3f100cc
commit 8d993276486a1642fdb70410debfe3692cc508f6
commit fec37500cf1bca65934c60b03f0409328e60ab7b
commit 118b5c136c04da705b274b0d39982bb8b7430fc5
commit ba00eb6a4bfbe5194ddda50730aba063951f8ce0
commit b33771546309b46b681388b3540b69a75a0e2e69
commit ac7215c423a34837b634c90cf29681537bd9998c
commit 70994becf2d0899dc9f8c23154af6aad34b0981d
commit aae4f817b8176c0232fb1cde491da6d0775bed14
commit 9310dba467990d393942cfd0c77acf21484050da
commit a0dcb06d29d9e477e1984dc3859e61568361fc1a
commit 4039e44237e8ebb06f0e4af549fbedf7c41df9db
commit 5f21dc07b52eb54a908e66f5d6e05a87bcb5b049
commit 05d5562e401eb0aefab89788a24c0d4e776150d7
commit 3a38be31ec82920a871963c086393bc0ba26a655
commit 869bace73ae2b4227e57ee3fd994bfa7d4808938
commit 4602f42f015232f6c1b19f92d14688aea00448b9
commit 4fd4fde8e42e16425e7acab2e093614491107083
commit 580419965c263120ee05cd99ab8d35c2fdbc449b
commit 96eecf9beea7603d6ccb5d0baace85fda842ea15
commit 1c621f2a21cd519965c6820698345fa14126fec5
commit 9847ffce9b5f83a7707504b0127aeb6a05dbd378
commit a13af50d75bc266bc746a2ac2b38d597f08f4201
commit aed01a68047bd92e6f1273fb2e0b8e99ca72a876
commit 2b9ed318ad1c579df943c1eb07ae1f1c0e5e9d83
commit 064b3eee8e0260d8053b588c71a3f71b762cc0f3
commit 7ee6f99dbc45eb457c87241aac1067fef3f263d9
commit 96a7b60f6ddb2bc966fac800c1dd18876a6e3c3f
commit 7c18189b14b33c1fbf76480b1bd217877c086e67
commit aa8c85affe3facd3842c8912186623415931cc72
commit e5e43d3363d7c53d99163e94cc61d418230da17c
commit 3cd7cb2a7b6b94841aa7aad4c56ac5d7bad683ad
commit 2cfd1b38413c15d1c0af6e24ec3f0af8c36cc27d
commit 4583d6beb04976dff3440b1efd2c5956997fd839
commit 9da2957f9f81ed29d0046021f131be352cb2199e
commit 6b2e8aa45126161135fb4a88870c9526fd8319f8
commit 09881d2940bbd641f27f9ae7907e8a1893bc54b2
commit 6703e28f976d9240311ad260a73504bdc6f6a74b
commit cb8097a45da128127db71cfba2d4a2614cbf71f0
commit e0029da927fa9cc3c8ca6b37dc10624d1209e310
commit 39985eea5a6dd1e844f216028252870e980b9e7f
commit 668b206601c5f5063e03b76784a0d3024fa2b249
commit a44df74c720eb45d16a92ab9fc8a780d961d5e2b
commit f1dc979b6088426698b13e888c65f9c287af48e7
commit dfefe7bc53a115d8a99478ab9b8d7726c70c0c49
commit d24b34758dfaf47276363746e286464d13649efb
commit db5d650ff0b5204ba679320ecdbc5e5d7ea80508
commit 5f42196d39291ac5a34b4c68c754a7b023892d53
commit 9151c85cbb2c3962d65f12dd0e8b2a7f0d9908ee
commit ee9125720c024e759d5c0f888fe7b98dd22e40cd
commit 1b108bc7607e0ac54e1664b9d8b15c70d2b0af62
commit b5d0bea79367144cead950bad38e7c9a1ba5c087
commit b17a15d6189fa86bc06cb88bb2980888d81cdd75
commit 9d4b7af520e542b82a5db210c2053b5dc190eae0
commit 36d421e632e9a0e8375eaed0143551a34d81a7e3
commit 9ef8d83e8e25d5f1811b3a38eb1484f85f64296c
commit 9542d708409a41449e99c9a464deb5e062c4bee2
commit 2bf91341ee42fddb6615936701bf2ed68689d452
commit 273e1daa1c025d8a8649d5622ab8b7f344960e9b
commit f9dfa87c43a38dca16fcb4fb527d3789ca7bf611
commit 1b2146de7c5bcc25b75484c6ff1c94971c7696e8
commit 94b49d53acece870d242f6b148aff3940cb6c92e
commit 284c5baa44218ef615ed8f5edcd6cfdedaef6abc
commit 0e7a16f9ddde61d7d65bae9c7ddda2e4a22cbc12
commit d6683bbe70d4cdbf3da6acecf7d569cc6f0b4382
commit f56e0071a6fea6b416943d8736f3128c8b2abed2
commit b3baf0c00cbd2174e9fdc7141ea30adf123c4a8f
commit f20eb7845ffde91abc954493431aced4f5f5c4f5
commit c50ad291e4d9cf32dd893c2e06019e8c7da89f65
commit 61b795a9c35264022cf0bfc49d26e75162a23d5d
commit 06f1b06dc5b75b1a4071c905231d40cd74587a18
commit 9fcbae04987b9bbc6b5459bb37814be811c6e05d
commit 3dadb4a17035ad4c84670d2ee1a3070f5fab4bbc
commit 7380f545a8147500e02843d1327f32ea905c953a
commit f22c982ef4152f55516865e4d802760cedda6470
commit 4923e99fd0a711f854b964e1a8cf9163112d1cee
commit ae2ac2d806b7c3a0cfad4cd76c22aa44b69d9265
commit 2bd4054c7d5c888db8a2f985c8f01a9278792210
commit 98463a24797c494108850441510c48741976c2e6
commit bdfee32454843161ebdfa3ff9fe37dd110604db5
commit 1e116253821a7a3404f4220a0493793f39c7117e
commit cd5103eed56fd9012221659c403c3339b8c20305
commit aa80b2b12b89a4d5de2960968b01128003b147e6
commit 8910d8b7ed288564fdb0ad41e02fd8a381f7b727
commit 59ea2887907db7315388f4e37f59aafac8ab2530
commit 8eb2e3b47e3564d2ed49d3fbea5f472950ef98b7
commit 46b3c0f683d6a2128f7f2bf236bcdc62caec5c83
commit 5ed88f96c137b9b68ad99f40721031feb6b26923
commit 22fac49febaafd7e3f141952915f56ccd09f5cbf
commit 02107ef11b438a2528a113d8a546d4dceb8bcce1
commit f99926383bd62d2b707e4599b4e096e943f63d42
commit 6fd3d8bf89fc6525264552910accb09c93abba02
commit 158350aae16a4e666e261da0bb4d91c0601a3edd
commit 01361096a33a81cc224e12e8cf06240f12737365
commit 1008266e31a0cb86cf8ac18eb77047283ae2b800
commit bb45217ff335d2662ee3cdfe3f32817e2d2e06ae
commit fce187ca0cdd6dc707db2c7c22b863cd8bb91ef8
commit 01a789fa45bb0802cb396f4f30b1351840ce0c09
commit 55a4679e88b20310de0d614bd3b2f935f98ba5a9
commit 48630a3151b0373f005270c69f0caaaf08e22fd3
commit 5ac421a9ec6668369b7910d4b1e7f5e7e9e9ec94
commit 3eb08ea58e5717cf758b9eff6d9604aa3525ab94
commit 998894d5dd49462013f1f61f094e9e91990f9e7a
commit 1d9ce1cbdc191180038b66a914b420b8b0075062
commit 9c0cd4bb9a2da8c69cd9331ba1824bca027d6090
commit 050db7d70c3c6cf72d11dde8961f953f990b9c6e
commit 61a55f8b1ebcde68bc7bfd57435b1b3bb1121b8f
commit 6068771673a38efc31ed5b99645176b4d3a33129
commit 93604a5ade3a021fe3daf37f8d378b12cabb26b4
commit 495e440b354203d286127f8515f67a7a711ab6ed
commit 1e84dadb2762cddbb5a1066713fc5fc6505e9f27
commit 169b9182f192e8725c8de5d7d77f00f6ae6c7fd4
commit 8f85e4a1667fb12a2f0f83876ec68a75554ed5b3
commit b712b3830a327b171f0a00512aee5e84d45f6d36
commit 2a742fd1640574b80682669825274122e71141e7
commit fedee62781e3aed958be475af6e5dbea90cf232c
commit 1f89b94bcfbf1d9ce7f26bb66d8ee0cd7ca7d6d7
commit d5f84973acddbc6140cc82d74ae8f5b3e11c027f
commit e18b19740299285fb18ac1513dcaaf0fa40e140e
commit bfa5969e1144c8d0fbbe1a976601dcbc50549757
commit 2846cf3fdb8b500e374efdcad3134633dcc5ce60
commit 1552dd6ef99fb54479afdd2fb84473b9655cad3c
commit 9548fefcaf9ab61291c0bd427627aa773b19dc75
commit 992ed9d525609e2bcef9207c25fe2b1949f158f1
commit c604d31950d10db45267bbcb9ce8f1dbc2bfa74e
commit b129ff30acea495b1455cf8d6e1d86fdb87d22d4
commit 95d39a0c64aa529adbff1bdafd391e83ad587602
commit 5eba7426050755c96d4b9561432b18ca000a4fd4
commit 66560f33059ebe606cad7aef9c298a19d4f9e998
commit 839259b8afbb78bcd6d0b698e82cd4578a505ba4
commit d1e8959203f21aa577f2fef531109c9cf872d4b1
commit 3687ce7517a1e81141191bf12e3e86840d6b9ed9
commit e7e12f6ec8bfb040e28ea7287c907c19477149e6
commit 518b761a7b0e2bb2fac2518f041c71b461adf761
commit 82ea22256b9c1fe3f5a089733969f6539d92d9f0
commit d24b77e444bef83155557ebf4c2b3c551f198926
commit 28d58468ad7d9630c83e4ab3dcc0b2953a276f7e
commit b2daaa9360610c584fbe8d7d5e8d1fdb99abc7ef
commit 4fa01c6357d5f4ae80b1794c5ecb71c0c66cd528
commit 4d3ed6326449ddb1356544bf838024eb232dd315
commit 4f101d5710a84f334b05a96713000ce8dfd4d598
commit c3ed0e72c872901659ed0fef4b91eb6ab7dc6aad
commit 0c3c99364361171f8cfeb8b66b1e6f4709919dc3
commit cb42e8ede5b475c096e473b86c356b1158b4bc3b
commit 957565a473a630a3d01932c7173860b33e7acdbd
commit da6198afb01df0dce47fde23b53183cc0009b6a2
commit ba8ff971008cfaef6049df52a6058801202435d8
commit 0eb1173422f648a503a2ed1a8364f2d8bd7f690c
commit c087bbb6d84e7a2e8dc834fe066d2a91360c0db6
commit 1c388da529c8206818de6dd89b99ba21acc74f6b
commit c6a53c90e3be8b7e745a46c941631d0855648313
commit 5bacecc3c56131c31f18b23d366f2184328fd9cf
commit 5631f6a0436ac30eecfb2e6fdcd0a517f90add8a
commit b568e6bb49d49ef05fa3aa4bb294ae960e1d778a
commit 217a8c63df30246f180760b1e1f3e57267efbb6a
commit c5a486af9df7a7180d0f19fd4b6c801da64a154e
commit 8ac752463390882a5e73d85b141b68d5c259652d
commit 7eabaa892d9c57ad9b2946f923d781e8a16f8e88
commit 3842d671d7556f33d5909d472954328201b8b530
commit 3f6a1e22fae95a50a2e4815305931ed1da5c9a12
commit 67fe7487fe8946f33009c7b5a7eafec535a7826b
commit 67b7836d4458790f1261e31fe0ce3250989784f0
commit a8e47884f1906cd7440fafa056adc8817568e73e
commit 5767dc9e2df70550552c856ebc4b8467767661f6
commit f9b9297b1facb636ee81f03be3658087067babc2
commit 7416cbbc9fb9b09ba7664dc0f3176c567685a83c
commit e0106ac97886b6bc36c480de72562d3e70b3f8b1
commit 567172bbb4805a9d9e84e4621210212126703d04
commit e47f1691adbcbba22b364888cb34686d6c7d1152
commit 283947bbd5dd8885dbfbd86515276a9ce4a31251
commit 60971b204c615a6881f50c3dc9a2182551282b94
commit 1a80993ae37341c2017108d02975683076ace2a6
commit 61d2a9bec406329ad57e2ecf8e33338a21057eec
commit 1e5d4d8eb8c0f15d90c50e7abd686c980e54e42e
commit b4ceeffd13870b641a284ffb0f6fb4ffe19b0b14
commit c69fc3d0de6ca79d946a2715f8745a1eae69c3d8
commit c32699caeca802cfa3416f798abcff719d1633f7
commit 36951fc9460fce96bafd131ceb0f343cae6d3cb9
commit a06d565b4a1c032ff8a8d22ceb39c061443208d9
commit 504d3cae8b6718ab9c2fbef9e4cb56deb29ea9ee
commit 9bb10b7aaec3b6278f9cc410c17dcaa129bbbbf0
commit 1e74c05b275cb4224f3f8c2240ab24486818a823
commit 6ed373b0d572cde539a461bf333661cb98595e63
commit 7bd571b274fd15e0e7dc3d79d104f32928010eff
commit 627441f5a56e2ee119baf340b394cf4ec9c94251
commit 1099238b966e9b291fca40d908d6a016ce758455
commit 7ae1dbe6547c39410d82156c96eaa9c8cf55e87a
commit 2d81c4cd78477e473dbdedd1dbfb67460fa53c58
commit fd234e7581162573742dfb8cc4dc0af3d3148138
commit e68d1e074d5e94b609de01a3ad3287d3d17721f2
commit 26a9f53198c955b15161da48cdb51041a38d5325
commit b5fefd01e8367763840e032bf1537747905a1447
commit f3f8f16b10f8258f1836e1110099097490a1d6c1
commit 82a10aff9428f1d190de55ef7971fdb84303cc7a
commit 32953485c558cecf08f33fbfa251e80e44cef981
commit a03e3cb16dfdf4e39ed4ed80314256f9ba671ff0
commit f4658f43450478240e2e758f0532d19f921f9a69
commit cebc13de7e704b1355bea208a9f9cdb042c74588
commit abd74d262b07f33d6c298f1b2fe03cfcdb3c72f7
commit a38410860628909712ea6a2becd42bab56c70e9a
commit faf67f640fa6c036d19727e294a2915e3fe5bf7c
commit 37b42cf904e2ed92a612aa09481385cc9eb2a6ce
commit 5abaa6835f42db7a20ff57447d60303cd81495f8
commit 4ce0c8e7cc1c81c2123a7b44223b0bffec00cea8
commit ca62297b2085b5b3168bd891ca24862242c635a1
commit fe82b93fc101beb6396193b1713029d18d740e7f
commit d34b4288bd1e3c70ec6d790fcf1041e99d0fc85e
commit 30c35a4ba9cd91e07825da8e2846887cb000114c
commit 849ee8a2f0df7a4ed4d281e19d3c9824b8e60bc2
commit c103a23f2f297c6ab2e5e74e39b655439f3524a6
commit 254986e324add8a30d0019c6da59f81adc8b565f
commit 12e8ed969852c11503216115952c84f7c2f4c6b5
commit 55cac10739d57b94de4626bcb009bcdafaa781af
commit 0591bdad58c4b83a286872305e748bfd77d16d28
commit 775d1bee8fab737c9e70050f61ad5370d8733383
commit 29b41cf707b5ecc55cab12bfa04fbd9811f4fd04
commit 4d14d7717f19fb1125496b1fd836ca89f11d540f
commit e3ecbd21776f1ff7610dc2c28b3b47ba8c23e10d
commit 72122c69d71784e390527819754ea456421c4501
commit 409f07d353b3516c71fdf12d7fa576004f0167a9
commit c5dc1756dc98e730ebcaed156a05b961086dc2f0
commit 1a62dd9895dca78bee28bba3a36f08836fdd143d
commit c3f059483671426266f681833bac6c09b0736247
commit 26f8c146924fac0f50157fe22d1948fcfadae9f6
commit d3708182cbc3404aa2f7fd5ccfa07328018f4bf5
commit 893a6c224a24be49ea5a30315d1ae5967598a43d
commit 95ccb25e32af8a86286df215f19ab2c0418cbcc9
commit 825f0de2fdda691776b6f45af1d3c9ca3d5ff7fc
commit fe00866c65602e94c1b6b3d3efcea3633330b02f
commit 1b28c1c789d0c11be213bb5d892f9a094ab8e201
commit e81a3c12b88ab685ce10482c3f6d5aa46f08a6fa
commit bd5a7886f5ff6899170f3acd85f57c0f43d0371e
commit aad9729ec0e009440ac8c1a4be2204e4d3c08977
commit 6dbbff25b39565c801c87379bc85933fb436518e
commit c0d5c293ceb752e4d91e40854196a13f3cc070c0
commit db1c1a8f0a2bb69eb9123b2d2a88cc7d3d49b13a
commit aea9040c2df97a03b73a13ba124d1b6561e09c4e
commit 2b595659d5aec797d2f469691cd543e9b3500471
commit f6c0cd55fed897e8441e41c4bd8220a39539bcf4
commit edfea16a6dae9c03bdc97babdd69960093263354
commit c1aafd6399a3fd35594778acc618075e1bac81d4
commit 9228742caf899fa72230dd8da19ca4c7528badb8
commit 0eaca1ed0d2f70e3e573ef103ddbde582b2b3745
commit a98ffd6e333583c9c3f57920c505a37eaf5b2586
commit dded35acecffe9b6ec881ddd42c6275a38fbfbfc
commit 4b736ed40583631e0cf32c55dbc1e5ec0434a74b
commit 6e9213287ce4d75765d2806986d4e3c7e4991b3b
commit 43660b4ea53abc2be04be18a147a39e1f4cb8b72
commit f999adb7acb7d52aa8e8be0dc75f604d41e51e38
commit 7cb3cfc030640bf860bf8299aa00cdffff92a40c
commit 7bb3956178e5eaeeab5134cf38e0f057bc2344c2
commit 4d2c09d68de2acec46fb471f5a358627c9dc3885
commit 2b396e75be74078640becb36ba8c01977bf1e0be
commit 4c93c62e77467fd5e9a9fcfd708a50b23a9951e3
commit 0df2032ab72a47c531ff653d32d82df5e7d52e3a
commit 4f17289f14da7fd255f330d0e6545251f81c711c
commit 2024ccc8e28309d549578190ce0ec7a986069e9f
commit 4688940a1e03fc2457e40aac2257fe55e97c8d3e
commit fbf46565c67c626849c7ce2a326972d3008d2a91
commit 7138fc88fdc1f999a547657af8623d3a2a862fc1
commit 051ae8d59c321da4c3bc8ba7d75dfba7734e2c6f
commit 55f86c2b030463f8c98e66911f4548a1fc0666ee
commit c7850370574f0594993d21dd02c54d2a853d2d6a
commit 0b6c67c22d2374a98890cc8b6204302f75e14cd7
commit a32d7d6b198b23b7d8f40efb9efe42779ea7b011
commit b059cba51979b3431b75e0c6f18e9f75e427537c
commit 31865e96f9eb52ced6d5e23f9f3a5376f81c9410
commit dc622367c56fa0b5a911be73e22584b3cc69f5c5
commit 2d51f3afbea4184487132eed85ae83a13cd6b1c2
commit de534c1cb0313a070f45938a53b53927cd34e5b9
commit aee0c07a74d3f79aef553e3bfc6ddf184d33d3bf
commit 67d198da2fd493629e498629781edc5695bbf4d9
commit c93aa7f33e94ee9d64277fa2a345dc30c127d798
commit 0db13eae41fcc67f408dbb3dfda59633c4fa03fb
commit 0215ce9057edf69aff9c1a32f4254e1ec297db31
commit c0a561d96a281b91d48b77278714cf5b791a70bd
commit 11efe095dfe0768f5b248b77a84e5aa748f14204
commit ab487ea8910d2a84f851cb87f2cb49adcb5b774b
commit 1e88eb1b2c259994d034b0833cb489105a984ebb
commit efa4c4df864ecd969670093524d3e8f69188e5eb
commit 84c03df58d8bbf77feb2f199f10dbe8f7f72c782
commit 36516001a7c9cd7901673548ec685bd180b1b548
commit 76f5dc40ebb188b081e03783541856c03e97f8e0
commit 6455cb522191dac057d5cc4b3f24d5d3ae6a33ef
commit 202a3816f37e49ab490ff4582f1fb34390e5824e
commit 788c6e2ce5c74c0a22d4e44cca348c8458b3f01d
commit 34fd6df7886989019d4f6996da2d2edfde5bcd34
commit 2b02d746c1818baf741f4eeeff9b97ab4b81e1cf
commit bf77fda02411fe2cac3522f40d8d6882d27ac14b
commit c186c13e65286a46b61f5c295f9f9c65c75c926e
commit 4652ae7a51b78d7607c247228ac2a14fa0088bbf
commit de930140bb578ebb075772e946e20db68550bf2f
commit b5ac70369e3669df4a0c192c40c0e70c3e56439e
commit 97fa4dfa66fdd52ad3d0c9fadeaaa1e87605bac7
commit 7da2bcda5899e92ef3442d5997154d8220245370
commit 2820433be2a33beb44b13b367e155cf221f29610
commit b8272241ff9df5b57e2777a07c1fe8af3d9cbf93
commit f7511289821ffccc07579406d6ab520aa11049f5
commit 7222f5841ff49709ca666b05ff336776e0664a20
commit 81f743a08f3b214638aa389e252ae5e6c3592e7c
commit bb46a6a9bab134b9d15043ea8fa9d6c276e938b8
commit 1fd0da91a882a2421e7702201f707c5e06bba6aa
commit d37a3929ca0363ed1dce02b2772cd5bc547ca66d
commit 3e22193d8cdc0576cd2803da3cac9f4fc9222273
commit bd1b5799545ed838651c618c9fbf8fb8b5feeceb
commit 13e3a038abe033b38db6313de7a9f55ac83ae422
commit a2c5dd9ec6409821505e0409814cbbf741ca61d9
commit 511a95552ec878fc59a294652ebbf73a0e8e0c76
commit 20ce5ed69bfee125b223bb0c6a731128caf07b09
commit 5fd1bea5c23bb921720b6c48ceba5d6415f2ed02
commit b79f85b7aa5a9ff9f702f40c6a5fe4a53e965cf6
commit f651a7b64cec907bd645dd7ce1739fbbe257bceb
commit ba137e64191f313eb0e91eeb9a1a2db1b1d5234f
commit 920da947af28638bc94bb0012ce8600ba2d06c0e
commit e67db9d2fd33e1118b518deab45dd6cdcf3c62a5
commit e89838968ee4446073faa718e9303bd6341ee0d1
commit 5a2854e577dc2b4538711afb9d788a6fb835b640
commit 22de25f83c6b9b2df45fa346b632dcb9b6f1acda
commit 8bf0d9cdf36b0bebf17b733e3f5158783d765df3
commit 36e88a9e4569df86e81dc75a7fc6f2d41f8ab8e0
commit dffe68131707df72c9a60f18fddd3732a6d3c676
commit 83923cb27323139f9e2185db9b3b1299e6cf22bc
commit c0a76ae8743a8d6cfa5c06b5efa497139100bed6
commit d068b700432308962d1bb6da467d1dfb1358c2be
commit a9d491d99ece898fe6fd5f7374eacb5223e1531b
commit 6c5e25a0255d56e8455869cd7f90bb9be7478132
commit 58265640fbd9a57bca521c3d83012fff2cd15fc6
commit 3a906a0cb150a872a23f6204449d3f8b50693837
commit 5922231bd346da717ceee8d14b4361fd595e58ac
commit 95f8138d669fd02e304e5e2531f11f4f335dcd22
commit 8d746ec4ab14e7cb82787c6f8bfadee8dd20effe
commit 8ab3b0663e279ab550bc2c0b5d602960e8b94e02
commit 96c25b03145aaa0d2900cebf0349f13a689b01ce
commit 0188be507b973e36f637ba010a369057c8cb7282
commit 561b31acfd65502a2cda2067513240fc57ccdbdc
commit c4298d15778bf21eb4834768f04c0dcf7975dec2
commit 2b897eb4f5993a221dcd8e4f29fda3046669ed59
commit b09f9670b130380ebace4ce378ec04cb7d042871
commit 913e013e9e1a331b3cdc3d0a033e120d630a80aa
commit ce086a32ae21a01e48d202cf85b43815a0eeccfc
commit 3e853b9f89e4bcc8aa342fa350d83ff0df67d7e9
commit 2553bacaf953b48c59357f5a622282bc0c45adae
commit c4a1e57b3544bd3d0252cf4e1d73d9a317de0923
commit 3e226e4a21808e4582020f813b041504f316022f
commit 673515ba0249e47a0e69c56a16af24399c824d60
commit 6b931346ed0f7ec3238700d17742d092f164ddc0
commit 636f973c123fc64861cf41457a68302078b323e1
commit fcb0348912ab718a3613c13cba264aecc7462c74
commit cd414f4f59f64d7d2a249caaf387edbc5a874020
commit d1b3657fb5b66a40b4963f72834b193d18d0a98d
commit 7cdae9e9ee5e29104010225007ee7a2f32ccdea8
commit 7b9a9e35e45def496b0a5b3f206bb4efa712ea4a
commit b67e0f530fdf5671a94f079d48707e5ec5fbdbd7
commit d011db300ddeaefbcda6a7bb2a31a73d263bbca3
commit a1eccc574f977bd21a4ec8ac54bd73a2756bd281
commit d1c0cc8d0d7008856cf425c64d7203f95beed841
commit 5635adcb34b3f402dc013446d9e57eb534ab8c48
commit cc158d0e9b0866d3626a81c13542d3be8f1477a5
commit 2fb82d5a42bb0e69547a2d31340c50bbd3a3d276
commit d2ff2ef8c023ddc99e2d2e0c70ff307ebd7a6d89
commit e049497702acc5d16bc6493f68368963e0bef989
commit fe57235bc104f2389ae1a54ea2536c1b1d6a4611
commit d99c028941b37c412f1de35c59d96ae547be2d0f
commit 03e7ac67e743195633455d7ecb4f7327e3797986
commit c94aa5e0407e23b9d51bcfd073d83d0e504705c3
commit 91affdf3517e9255443dfadaf6978ffec16f859a
commit edc9f16763543e5f51f07164766fac8d6bc9e560
commit f8ad33797ab3dd3ea011c1d5f52ec684fe925271
commit 6ffdf8865dc52e33b9867fe745f681175b997209
commit 74b9a444baca40998d4b3c193b0a98b495fdb7de
commit de7d09ffd5e74e3e1257944b3dd03357390b745a
commit f8d221dd97cf054740017db9189029463c434a9f
commit 038a24835ab68f341eaa7a0e3bcc6ce0f9b22e17
commit 0993234a00451e0a5c3e47d8b0f2e01dac6cedbf
commit 01f05940a9a75e11a2be64993c44ad8dd06e6e26
commit 3b4723de0d9be3f2a1730c164987b6e0f38d7bb7
commit 49017304c099923289b0db676351307d95bbbdfb
commit 8866d62716c918e5d09d8297281ef93155434da0
commit 75458a842cb59db8695a074d7a740321ff0a1254
commit 67f3c2096909c457c64f96954efee36e48299991
commit dcaf5000b054935780db718ecff8cafe6c183df8
commit 22f1482aff4aee39e5f3354808bc099084c2b64b
commit 629fcf0b687e3244f4bc1ab0070074f836703b09
commit 28f7e8971846519720a83b85004ddfe33680be92
commit d6530c33a978c6d170125b3a2ca1d218b1863e52
commit 53e9d836ea7fa0bfe9950ffb92d50811a5e69f01
commit 6ab68650a10e89dc351cb12b42a89b8789126c13
commit c69d51395a3bd3905a3837691ed48c7c89ea3d95
commit 5640e06e60198d9abdf6c618c54d982d8ec9cc0a
commit f81c31d975b463c24506d817a48390621f057a57
commit a6dcf9a7ccfed57abd44c24cc505b559281d44b9
commit af8312a38f713d0d5445277a57a1c8e4157da5ff
commit fec70a8601a76272b08b7b8077b3c3e3c79bdb72
commit 474e2d491efe8ce516e743dbce6a6e75bac3b3db
commit 566b6577849fcca743aa63d43793062aba62166c
commit 84b31d484eb9759cb3d8fbbb7a0e191cc097ea28
commit 4648cf5fc8c78d71ebb22c9fca760062b7747ec4
commit 1aff0a5d71d23be6658f893c88c6a9791202bcb1
commit 9724ecdbb9ddd6da3260e4a442574b90fc75188a
commit 53c4e64c6a0fdadc972217343f4439a96542f56e
commit c8a76df60d5c4e38ed94fc46a05f7be2631a9839
commit faf0d83e103e38e8bf7cc4e56da1a2edb9dfdf74
commit bc37c98a3d44f705f30fa39a9b9f46a0837c856e
commit 68070b76c4aac9369d7f84d802111ef83a7ff943
commit b79fe9abd58bab7363583d30d67a5385ed779616
commit 74e6a79fe8433ea0003d5308c566e68b3c7280a5
commit b3fec11d0dbf43d0b3df11ca71687e25a5698ce4
commit 9d8fdb04fb93bfa2edcdc15a2d48270829e9e95c
commit 5d3f30e033ffdbe027add4f1366238cbde686d13
commit 4144334a41a577153913897922ead867ac9a27fa
commit 54c7b715b5efe405dfd5fdafcaf930214b9c1fa9
commit 932698c88dc414e36e0683fbf6cf551b928441ac
commit cd487b6d506329917bdd2a594b307aa469a53872
commit 98ef34186286c457b7fe6a73ece9b279438d645d
commit 98ce7d32e2154a6676d4dc7e6877af68cebf8832
commit 5d04d13954479292dd45e38a46dfa31abb8dc2e0
commit d142d4113fd5c3f7afdb48dff4703ae7edddf53d
commit 2792f98cdb1c8fa43bf4ee5ae00349b823a823b7
commit 825b3772a2047bd32ed3b3914234da0de19ef2e0
commit 8bf6e20253b2d2b614f2c0b491f840e956fa6b05
commit 6069b66cd9622c4b29817d4e19737e6f023b909a
commit e2945e6c5111726536c6046eaa1b840636e066a8
commit d2a9692ad4295e227e3352fdbf14b8491b01e1c9
commit 313e9f63b74419ca14c2c09f581a79c7037ee0e2
commit 7fc0d011c378c6b2abc65cb536e0df0ee055ed39
commit 4713ace3246644519bf93cc8ea6e44efe57fc3ec
commit f7f0085eec8d3c0c353d2e7bfa7fb54b3b925d7a
commit 4230cea89cafb11b2c2e4dcac8b505e7a766b386
commit 328839ff93709a517e89ba1de1132c5d138e5dcb
commit 8c042949af1e935123140ab6e6a3dff945194a11
commit fb4651f9e00dd4e07dce4c48d458abb50d276e40
commit eeefe7c4820b6baa0462a8b723ea0a3b5846ccae
commit deaccddaf4921faa5dfc71e8936dd8daa98ba33d
commit 562e08223a85f315122cd65e8f99b8c0a42b8771
commit 5f3401eeb064fab5ce50728cce46532cce7a85c5
commit 057e335c71361063e173381cecf2e8487ec8b552
commit 7108a1c1271dc4d26789002c1a6858b52f237cf5
commit c416a9e4e31eaec5a35417b056a22c73652db544
commit 05cff51055c1050bf3a730748db15eb84f34b31d
commit c79503dc2ec2378d08cccb6b53da408d6bd6cf9e
commit 3726b6e7c0f1842a2ffdfd5921c95f69c0524808
commit 22e3d9343b8292dfd8c72a5a539dc1ad4829b87a
commit 7f544c5488cf5bc94b379de750e08fa3e146b6ba
commit da9d669eab152dbd6e9410606a7c8c8a212a7959
commit fdc94d3a8c887e4e06a7ff8dcb51d55cd70e16cf
commit 370808876b5cab365f8fc6dbaf8cae13a2bc6efa
commit 65ba96e91b689c23d6fa99c11cfd65965dcddc47
commit dabc114e4bac903c365bfe6d7b6e8ed7fa38f8ad
commit 4489f0fd9e01efac81d98884d5cf3fa708b9daac
commit 0bad3200dffa26943ce2b561e5446cc3ac018bc9
commit 7ee938ac006096fe9c3f1075f56b9263587c150f
commit 83842357c48ba9270bdf973fd21c8c1a2a4af72b
commit 1de178421f1a95de408610c89655ec1d4edb9d29
commit 81e291d6f4296759df03666ca008453cd0e86821
commit abe3c66f3491ff14a5d616921441452f2c9693ff
commit c14bff92abfe464974c795ad53625ffbb6d6ef31
commit b24343eaceedb902c1625854f85a193b0549d85f
commit b0fbef65e227ad4ea81bf2ad3d17d073bd0c68de
commit c7d18b40a80e5c0a31e1dbea15c9591c4150e0e4
commit b288d740f885648680a8f1bcfbb1039d16be3f13
commit 72f6107d2f2294f76d9fb086acd0b01690ea5021
commit 00000922a33d4adb06a947621f553cae12363083
commit 165d5133731a2e045abdd6d9d3c9221fdc2a556e
commit 862643c7589dc97111cd59c471dca0b354f01eb7
commit ae1da08fb306caa8cc134b81ea68c537cfe7a451
commit c4252a11131c7f27a158294241466e2a4e7ff94e
commit 14c7b2451adce947b034ce1891c2db9220a3e8ce
commit c640f6c5570a6af904db37979d344ace8312c675
commit 6e889b1ce7f1be2bfcfe39a4bcc82b34380031c4
commit c931ef0041fe0a7b62b7d15774a831f3bc85713a
commit 3f3fdc978b8dbac444f7187915a3c874b674bee1
commit 0e9b1e5be8656c0705237341401c78c26b6cdf43
commit 5747af7c7303a1ed438fcf51680b767dca08c5e2
commit 0ec2a5b291af32dcd2b52dc8c1d53c3037238939
commit af3004c9ac81a532a8106d1d3c06e09eb95f0dd6
commit 1aaba11da9aa7d7d6b52a74d45b31cac118295a1
commit 91f4228960adb6583a33af310912163469f49da7
commit 705c870179ae57815d15a9e783442f22030d3a7d
commit 8cb1f95cca68421b08333175719fdd3615372ca8
commit 6e8acb6686d805ac5d127fb691e28e742248c523
commit 84f4ebe8c1abbe375babbea46eab746a0060e80c
commit b5202a93cd3768b5f757dbc1c7d702772a34c9a3
commit 3cf15dc2f81f765078ca867eaf42400f26b2052c
commit 90031bc33f7525f0cc7a9ef0b1df62a1a4463382
commit abae262640ef9c7f24bad65acade25b44c7ba0eb
commit 5327469ec4c07977e1d824badadd2628fcd04e85
commit 5cc0de456749712c6840d5d9e5b3de1071932aa5
commit 09b9851776b57f7a8a132db55942fc3ee0fdd4f3
commit e1435b67afaef736f5001ba937ab5adb5bf4afa2
commit ee0285e13455fdbce5de315bdbe91b5f198a2a06
commit 556d5a2d4268e3ce860e85e032859ada1c64e1b0
commit b8bbbea1ae6441aaa2439f4fb5fb757d513833e1
commit 8261dd979e801a29f96e4996112eaaa65c04ea24
commit a89c957a955e00d9eac726551cb9fb386be1057a
commit d19ccb4ca5436d7500f9fb47d71ea0bfecea52ce
commit 8f1aaccb04b7cf63135f4e2748226dfa2fb01e3f
commit b704eeae319608b48925869121c97c7bc1ea55fd
commit d5701d8f5210f8c70ffd1b51283b2373573e7b5a
commit d1837136d184dda0585a687c614a9117cc87ad27
commit be5c6b177229c5cb40f3fef785250afbfd669175
commit 04751a061ea055c4fa264f20f4558073c3d8fb2e
commit 3a39841322be5502f5355a558617f0a56b2b3ad2
commit b931c166c47207c8c7bc7eda6c8881dfe0241389
commit 2b438065c3e538844a3b2b56f567303020bf97de
commit 23a92abbf3ad44058b5d3cf57937cfb9de972c05
commit f328e96b764a603b3b70f0e9ef6ee052a78ed2ad
commit 6780b94d8ed37a0f453a5bc90821ea669ac3c0d2
commit 3fce4c948e2b73ba6f6f2aa7e1c2f101b997e192
commit e85f436824f2e2e067c0a151e954cb403b483234
commit 8891698273b125e57d0d2b6a91451bac06e968be
commit 2b9efaed4e4045a40944265f99f52b232df3347f
commit ed58ee126c4da81af79ab40b7c6508a7100c7eac
commit 5e3ea76492265fdbadd7a58963ff2a3a2e2e8be4
commit 67fcd5d2f3ec364cb7af2c307ed1999bedebb606
commit 749b30efffe58dc59c39c32673ac03010f822581
commit 28a4f5609c9aad29f921850d3fe58bec5074c86c
commit 60d7bbb5b4b875d613a43e3be797ddd4ff92cb7b
commit 76e1ff37b6872c9f2d11660258fc8c88b2f97b06
commit 6d179f84f274a87da51f24ac3e9427221bbaed51
commit 958e47977bd12e06752a559541867028b120de76
commit 091496e6cba32475ffa53a070d11d9a5a2f1f396
commit e752ab11dcb48353727ea26eefd740155e028865
commit e3890d84482a9479bf42ecb3ddc9e6030624dc84
commit 44df42e66139b5fac8db49ee354be279210f9816
commit 02abecdeebfcd3848b26b70778dd7f6eb0db65e1
commit 70b5ffb393f3f1fbb00ac52c5288d233ae6e991e
commit 80ac788a8d2fc8904cce97b7873b6d8fd513a46d
commit 014f0515a9e04edf4c35fbd89168aa33663b379a
commit cf6c422bf55fa8ac2531d56a6d17408300a59e8b
commit 0a93eeb5aef26f68ef247576662282a5d42c63d5
commit 562334d22a05a4793a620a9ef02516f3b8da9ec5
commit 1a324a40b452ae0a57676369c0a0150674728853
commit f161eb01f50ab31f2084975b43bce54b7b671e17
commit 80a892a4c2428b65366721599fc5fe50eaed35fd
commit 3962ca4e080a525fc9eae87aa6b2286f1fae351d
commit 92736f1b452bbb8a66bdb5b1d263ad00e04dd3b8
commit 41b4c7fe72b6105a4b49395eea9aa40cef94288d
commit c6265f5c2f502e442c4f339f121bedbc990c12e7
commit d240daa2c40d384aa01d68163ce5c12625b92d10
commit d36d68fd1925d33066d52468b7c7c6aca6521248
commit aef98f2e1bc411a27f25db81574309b7415602ca
commit d24eae4dd7ffb3e6de6080fad1297db8ab4b0260
commit af1f2985038fb2569786f3de64d7dd69f5580e03
commit 3234fac0f97671d55c466e8093e3bdf781dae329
commit f466b111a0c68dd3925deea37271f7aace2367d9
commit 5957a967599360477529ebd593e03f973dcb5fb2
commit 4db231d7dd80163fd251635f81280f1c93a393ab
commit ceb4a5619c734ea679bf5a2446e6869056e353d4
commit 6091693a4bd1ba52e406cff44a4a9959e755c986
commit 7d67285e84f62fb5fd00405432ecf1b64f921091
commit 3cd658deb03868a2483484224baf2442bf4d0062
commit bf35dbc135854c809b5cb6bcce320838c6d1370e
commit f825fead3570d7b7a13dd13b8d63209dc1acfe5e
commit 80bd2de1db0f25c82c110433e92c0703e05e5ae9
commit f5211c5dedee48eac290940b1f1a67cbd5f8bf6f
commit 4caee043bdbe375456f2db767c3e35dad0b3109b
commit 3e4bc662eca6a18afb45d98ee5f6dafb5ea5787f
commit 25a75f56be5c180e4c8e2017fc52f7e9a7a861aa
commit 0b9ff428de417423ca87f77dd6e836be967831a5
commit a37558e63b636109b8a9a181b316bb3416be0708
commit 63d99a342a7c36a113d2162cb2cd267a333548ed
commit bc517825c5d6c388cc7c668615a0b8f1b26ce513
commit b8c6b225d9d82b5245479960f62f0e95d611cc18
commit c54011512965ab221573b4d31ce1f5a279e15c15
commit 7afe3521bd405d878bc5f9b98d5db4682bcdf3a5
commit 14af917998a6126494423f8820a93982025c6963
commit 16a7004a2d7a2f8953daa5196d68766cfa120fcb
commit 4082b9f5ead4966797dddcfef0905d59e5a83873
commit 1a593aa09000c513a912f250ddbe1dd191e871c4
commit cfa075982768840c468c874219dbec558722cb7f
commit 74fa4c81aadf418341f0d073c864ea7dca730a2e
commit 97cbcae3ff20234f6a59240df0b5d5fa238b3f9e
commit 52b29307a98789853d87ed0a68031ec18063cba4
commit 3ad5dcfe00a22404dfa2168f37fecd500ab26a6d
commit fe120b9f5ce873516a2604e4ff0c19084be94e8c
commit ec64350d01cd45c91916e701964ed8cba383aa35
commit 28606c4e5877cdb27ea443b3f36e3f0bf9e7a5ac
commit 28e5c9d601fb8c2f387516b095a9cf6ddf7c00d5
commit c964b86e322f91f409aead79b1b497b74ae0f795
commit ac84304d68c4b310e61b275317c0ddee1b746cb8
commit e89d890c1b4a29fd1871f9ce21e9a94720a10e98
commit 426714f89f7081ce8bf83546219eed6ea1511891
commit b5006f873b99a26f8bd36d691c09083495bc0a03
commit a8b537605e22bfe277e666727fa0e9e01f2c729b
commit a36f72547e0eb623912957aeb68465e3c9f7effe
commit 63bb1064a71d9372a643dbf1d00b736f203c867f
commit ea2b852b656afaf6d45597abbcac8425fa6ab02d
commit 75b204ee6cac4595cc663daf59b40162bbf411fb
commit 27dd79c00aeab36cd7542c7a4481a32549038659
commit 1c1f61057c10107d15093522c097d9bf54703ae3
commit 2fedafc7ef071979b07fe9e9ccb7af210b65da0e
commit ae8df8c9f630403bb74d3c6e9768fe3991d547f6
commit 2a867a85ee0251cf55abca75e745c5f66f76c125
commit 3043d13fefb9114a7698485552f75ad8fc3e7c2c
commit 5ee33d905f89c18d4b33da6e5eefdae6060502df
commit 5519fea915effccf57fa1369669f4a6bc6c44a07
commit ed8f4e1002781c47813e4e2b37ad15b927fd8b67
commit db8496d0b50519540e1ee50f7e209b3a536ed671
commit a5b44c4adb1699661d22e5152fb26885f30a2e4c
commit 7423740b2515a4c8a70ccdc068c0ac4a2610a23d
commit 6a4fef21816be4bc818905e07d47e0c20738e164
commit 24dc4f4c2a5cc97e340f440bb01f5f30fb4704f8
commit 8fbc9af55de0b274745e70118e20e0964e98bb05
commit 61b5d0072a88cfd8c5fda31a7c19d105187c8841
commit a51c7663f144606a5f08e772fa3e1e4f2277a614
commit b9c93f4ec737bbc6b6601284df3a14814feb53fe
commit a972cd3f0eb50bde3823e8d1df8f6c1b0c673ecc
commit 67165722c27cc46de112a4e10b450170c8980a6f
commit f2c7959dda614d9b7c6a41510492de39d31705ec
commit 06f66261a1567d66b9d35c87393b6edfbea4c8f8
commit b25f551ae197293e1efdf991f47a70e8da616845
commit 4e936b65211a578ad1291967fb2344abd9488cc6
commit a8da6c18b481efbe78618dbba18c2db3241f4fea
commit c173a91b760844074abcd636eda47d3b2c107a64
commit 2983b869881b169288909b4ac93f407fe804a75a
commit a8b4114d112530440c00fd5bc01e4497480fa4e8
commit 40a55b842bbcd3d79b7a8ff7c426b22b6700768b
commit 7c1da0683e2adb969005ea195cb6bed22f844a69
commit 2a4d292f056b35f54cd7788e124937fe598369c4
commit 10d29bdceef79602af4136c14a6ec391ec3a2e7f
commit badb30270960df505cf245bad8844c227731fb0b
commit 459b26061a67e63e5aa24c6f2ad0546943357e43
commit 4f73dc7a079e15379bea0a70945ba1a7e5c16657
commit f210d8d28aa39fc670e7d80040ab1561abd77883
commit 33898377feb8ecf45fa29965bd1618e0997f76aa
commit 18fd7f8aaedfd40e19ed8228db856326afbd9aa4
commit 883631771038d1b0c10c0929e31bbd5ffb5e682c
commit c9a9f18d3ad8acb9f9d6b52b5e1922a70b48dc35
commit 4d6d94ba8823a2f4e48c56ed33cb77061c1f425d
commit 845e730eaf36d2199e25860259611ffda8e07f6c
commit 6a17b4d1b52f10a44c45eea2a9222088e7c9e573
commit 411de2b5ac61a29e1e79db44539f69bb9b35a34d
commit 9469d456c6a28494dd9d5cc16e17cf2d4c15c571
commit 14aed8ea48e2f5c710ab678e1ba32b9f398d40b2
commit 779cb5ba64ec7df80675a956c9022929514f517a
commit ef5cb493a9acd7d97870d6e542020980ae3f3483
commit bb8494423e2e4dbac9ece7eebba421011bafe389
commit 5a08585d38d66dd64b8ae22229bdfae3fdc1ef3e
commit 2810ac6c753d17ee2572ffb57fe2382a786a080a
commit 3735040978a43c25a19aa8015ab1a50dffe48f79
commit 9919d119fbbc913c2459b093eb81fe8197906424
commit 5f284e9c5aab5b12eb48a2cecc7a573c3b4e1cb4
commit 772a5803922a097eaf94cf865c6f4a81416aedb8
commit dbc9a5fb168deb140722c12d8332b25754def017
commit 3c67ce061b2136e0578734bae82fdf85c2c76217
commit c61d04c9eb4354980839cf938488ca703eba0f83
commit 1cc064dce4ed0ff111b6d6cb06b3cccf1cba29f5
commit 94d82e95219a3c581435480ab395eb04f569635f
commit 86e11e30120387cb5c24bdb3a169a2135973a0a8
commit 9578a10d4a2b4bcbbebefb4156c16c82ee725b3a
commit 7ed34927254ae9eac0f6b0ad7e7c2bceb96fcdfc
commit c5de248484afeb6de259239a23645790038d9df3
commit 2e4026a1a24d53651c80aca7e683cc86c96ed9c4
commit 419e505dab203b85facc782ec34d2d98601644ff
commit 5dff5d092ba6c5485aac1467dad938c74ba6ed57
commit aec11c8d7cb31c67deeba4c9fe015d09735c6813
commit 691fdba39e7fbbaf2755c31ad3800810185cac8c
commit b43f9afb81262d6c150152e2831a000b3c1b5d11
commit 1a2dbf0303e8793444a57a2eec0c6b29523657d9
commit ff168b37a96736c892007730e703e74d5a23ca48
commit fd6435ea32d9243d116dbf50e7f1a8b33e01262b
commit bd2eefd018e5a8066b7bc66d8e200fbe3095ea5e
commit 14302ab0d6550ef0ea48f213b0ab13c9249de185
commit f5a5b08139e8fdab024c1e52854e24fe1e8b428b
commit 4cf3ae9d8e9a5f77e8a1f69f17c92dc59ba15154
commit a76766664a9f91dfde906fecd1409ba596a30e33
commit 0e909e4fa8895bcef1b1ef2e39b9f1a158933ffe
commit 981f8866754dc5aec6864b877acb248dc33a7bc8
commit e7447128ca4a250374d6721ee98e3e3cf99551a6
commit 4d562c70c4dc08294d6063dfa8d027d81e90e2a2
commit b2cfec52feb3bb737c4b65018ef4bfe9789e4be8
commit 1fb4da5f7858d78570a9f726e98f96797447b32e
commit 42b4c479025d92b2a4869bd233f20159ae9ce692
commit de4149730d9d72f50d4e6dfedad0d11b1df05b7e
commit fdd9b7dcf1ad7115b2d997e047e8e978c474736b
commit cecdd52a3dd312564f81a39df08378b7b39a2654
commit 99e067637862c902f741744eaafe1472091937a5
commit cdf7911f7dbcb37228409a63bf75630776c45a15
commit 625af47255d9b30e22d6c98b7f5e97adc903b98e
commit b7d70b8b06edf25c4b7526e20f5b3d11175cab81
commit 7fa5047a436ba27696e344d974811d9ea07ba249
commit 786119ff3280dcffdf11c605534a20b4070012cf
commit d7d5a21dd6b4706c04fbba5d25db8da5f25aab68
commit f3823da7e4ba7d4781375c2bb786a8a78efc6591
commit b2c077d001b612b1f34f7e528b2dc6072bd6794e
commit d39e48ca80c0960b039cb38633957f0040f63e1a
commit 1ad0510cf730d8556fa7ff067b72aa960dde454b
commit b5a24e13c8c8b2c98d114b16da40712b80d5cfc1
commit 3ccefdea226ba3f3b69f9e868d2b1c9995b56615
commit ea1deabc6f11575eb3375b454457eaa3c9837abc
commit 49f6f6483b652108bcb73accd0204a464b922395
commit 929ae7c2e3adbbb2c2bddcd16854a6b11b56e95a
commit 82bbec189ab34873688484cd14189a5392946fbb
commit 8ba264f418f734aade3a77086bb1d51d0e2723ce
commit 287bfaf6fee974caba7dc7b874b29c27b1a2dde9
commit 065695b3da984aa1ed5d619f3c307be1f564bec2
commit f84a27f9eea51df5c704ca16a00c6df85a31f805
commit 89e790ec1a1ed930b58b0aebe50792acad90723d
commit 04500bfd7053482a1a4a81f86b57faff5c788199
commit 9df56e5632c5055ba2bbb6c8c593a4da15181be2
commit e27a85c1757655e2e7bd09164b87bf75627e5604
commit 5fba65efa7cfb8cef227a2c555deb10327a5e27b
commit 9079363eda1ea0d9fa2cc5635e65821d8ed4f994
commit 8d8d062be6b96b1ba95a3f1a9ecaf218c9458497
commit 19d06582c47572be9635cf126195135df0720118
commit 44222656ecff73974c637b6b9c9bb5415978ed08
commit cdb015a61190060094152ff8ff6c6f34b616c13c
commit f389e7ac8d8a9a17bf59507d02ffb756c19b4af5
commit 8d18373a0ef91845781755492510e00b5a912a0a
commit 1164c92b2d13648fb156fe547dd1273111f05e3d
commit bd80b0dd6a431aa23b70ff91b6905c1b1eed2f9c
commit 7732e289c557809a4a92a218abe04a5f658ea5c2
commit 1119f009005ea89dafac298aeb3231cf2cf2a9ef
commit f196198cafb8f0f2bedf1d8abc755f791fc03648
commit 618e51cd526cbbb2ea9ad01ef1f67719b775f792
commit 213eca2b0c042b024bf9697a278619f887bab4e5
commit 62f03dad76441ee3a58c26a0bbe703028e846db0
commit 9af357bc3e05400eb632f3975986e1eac196f159
commit 059478929a91acfeaa5cd2c15b6815e1a2c63f17
commit 1bb745d7596d2b368fd9afb90473f3581495e39d
commit 8782007b5f5795f118c5167f46d8c8142abcc92f
commit 120ceaf78e28f20ec7244c021d24d1e409572be1
commit f04b8af5e9fc42a8e3b26ebf3b8ccf681a064985
commit 276f7b4bd52425cd0ae38fd7bf870d94abac6b82
commit c4aab3499be2abd8671e5f3f70a9d38acd8e4ce4
commit 11b6005865e47c4cba862678936628175acfa16e
commit b4bbe4761ee2d4127eb751737dcbf47a310a9f86
commit 041f5c416217e375c4d27a7ea905548e70d1a3b8
commit 62bb839d48ae87d6aa07259ff6bc8d049538d1f2
commit 3a745f6ac13216f85c3804654f4c703995c17180
commit e317a69fe891382a8be712d4aa03bf01b9af229f
commit 9b926bcf26369ffbe347b9e76977f8425dd10f8b
commit 52b36510a175607b653e6ab0fffaca64ab8903e2
commit 39def24f8c0f86a2d2edc52c694a1cbb41aee69e
commit 5d55e1d02a49a7f27893a5ca5a3c3ef28efcfc42
commit f3409f76a6588137946c96313ed500b68bbc6021
commit 1b0f0f7b8be58b378657c1dc6a0806b5e7bc4783
commit 40a9634b4f09a63f69a373af5d4ca7e69e6a78ad
commit b11e193093fb9dc9bb5a2468b81ba3a76f7871b3
commit ab1a157ea7e13a9cf93fa913f59a6bc2ffa6fa5a
commit 6d4496bcfe1c73d5c97b133c31c8f779b4acbac9
commit 8e7a49e09e5c19a3a9073894a9d41a7ea0a0981d
commit 4d77b7e53410dd4b1fe3e1313c3982e682cadef1
commit 018f7300d4f73522ae02868234b13c4b7c433fd9
commit 69bacf1545206ddf5e1cdcfe868b78f33bb4ea5c
commit e86c30e951b50301fbc80e0ba7f6ffdc16e4fe85
commit d2cdc01451973235e2b83ea85493817705a48263
commit f7f28f268b861c29dd18086bb636abedf0ff59ff
commit 9c224e058dd9ae9b03602d6c86d44f0d11e21ba3
commit d29fb7baab09b6a1dc484c9c67933253883e770a
commit ac18b610fd95762125cd6a7194cc7e2e3b94e3ed
commit 1991481828a84dcc5168f1e9b818311cbde86876
commit bf224e00a9f54e2bf14b4d720a09c3d2f4aa4aa8
commit f5442b35e69e42015ef3082008c0d85cdcc0ca05
commit 7b1b3f5818c33da2ab78fe62d34ee7bacc93cef0
commit 79978cc76f050d6cf24880645519f54aa6843da3
commit 8ef23f9268fc4364fc79bd017c2ed6a6495133ec
commit e8e5cc645b2d6cfcff58d02743543eeb37e2795e
commit 4ed793083afc2bbf22a7fb5993efccf3b5bcde25
commit 37403ced9f2873fab7f39ab4ac963bbb33fb0bc0
commit a78d43738ead68a40acf7da8a873f47a9f6e6eb3
commit 53c8ed46e81636c39528aeb7c3db353a906ecee3
commit cf31994d0b7c2489d0b83a53b510fdc1e4c731a9
commit 0cdf91bf67b782bf3548cb3cce8ab923a13ca6fe
commit a1c9a1e27022d13c70a14c4faeab6ce293ad043b
commit d3981ee76dda3370d2f51ac0c528dd4dfb45cb97
commit b0d58d1147b8b08241f4a0de018241dad804b1db
commit a2f00188137940432e898952fa61e45adaaa68ff
commit 828d9a872cdfffa7c650b9cead166d33187cd942
commit 3335a13535312c9fad4d8d1307a621e6617d6ed8
commit cebbfdd5f099a16d57d9221cec76882867839ad3
commit 16b34622f7b18d017c59bd648415cfb64a842d96
commit 1d44ff3d7a71d290d351bffab6160a26a966db7e
commit e5a6702e513627f6924c43ec9dddc526ef6dd145
commit fac7c51d62f3536a66e47f3da076803016cc355f
commit d7001e7285f933584788edefb7350dd5a09a7463
commit 0b872f653915dcefebba845949f968c01d91bde5
commit feae1bd80ec69a3a0011ba1fb88994785f705e3e
commit a389789c0aaf8428cd44cac4f92c8786505f5f1e
commit 5011f2915b70703a0347f97b8f2ca0b56ab49978
commit ac754358c68214f9945bdf9cc565fa18ce1b0185
commit dd4d6791eb0164ba59d3e105135188c355d80fa2
commit 9aeabe1988551f797f6e0cba0e7c2d4549cc3a4b
commit 16e7a0db6ec9426fea36313b95c36624d983258b
commit d4d17377e01f017fd5a22f68f13e7ab342f97551
commit cd8fe5b6dbb3a487bea5f1601437c013a3d56163
commit 1138398d71e8e583669fcec96784471332e488d4
commit a33c8f71d3d85ff1c0284270f710b071d480d547
commit 359d36e67da9de877c13c4b4ea6209a5e07264b3
commit 89b154091ab44098668614b52553ae3917eb8215
commit 39feb7b16b107625a0071e5bb8ea19ee89be2a9f
commit 3eafcddf766b6bb8e6308ec2d587d4ef7a4381e4
commit 711762415ddacf54b1c973b208073438de5879b4
commit c5879999641f7860495cb9655de6775c96999103
commit 34a658b7e7128b35daf71cc003fbb659f914f7a7
commit 87107261bb73d7a8945f3cd37a6abc7befc327bf
commit ab639f326e48385eeaf65fd129d3ff6d006cbeef
commit d1fc4e391fbd321dff166208e58e30d3196626ba
commit 712f422ed70c6778018152896d6b4e5ff70fb2b4
commit bd0fdd31c1023b9d94a470ed5bc301c3f9d80519
commit 3b7d5663702373358d58987a3684f6c59443d9d4
commit e0b1ef58d98ae0feba98190c9faf192aabceb811
commit 976a368b7198bf666ad3d273e10ed82b3713af3b
commit 430ce0c7d3a3b2cdfdafb527d2f89be4267ac45c
commit bc5f983a3d8d8e5a5eddfaf11275bbcef04017f5
commit 16cf693e31bdb423f35ab24081575ec9699303fc
commit 7e696546353f659f60fd10616e04a2aa59ab2ac0
commit c55b73f391a726a45cc014464ba7ebea5f1d7386
commit 825535f44fef606e5b4484ebb8cb3827db59037e
commit 8979918af711b057620c7c5f9d29a0043f927753
commit ebcabb8b15708023b71b7044fdf928454613d118
commit 9796a5b2725d1b3ddbbe7b1f3dec56af8cc6af22
commit 3acac2d06a7e0f0b182b86b25bb8a2e9b3300406
commit b108bdd0e22a402bd3e4a6391acbb6aefad31a9e
commit 450c27fc9e9cf74ff9b96dd813817133e0f50cf1
commit 0f752b2178c988117927154fe3b1d2e619c80c57
commit f435b7ef3b360d689df2ffa8326352cd07940d92
commit 207395da5a97035f06360638f0c2fcd92963ce95
commit 41068c8b28e16f1c2c26c854271520e1f3afaa22
commit 98a07b82d8ac43f1cdb4fee8c340b020372c9392
commit 63c154a0445aa58a1ecb933e6117327b67b6dfa0
commit 75a252be27300c84c83c96399fa36fb5f6364124
commit 2792aed16ca7e594916893698f526ff31eeed237
commit e6a1e701edd0ef8fd51fd50e11bf29bbb2f37313
commit 5c908cd57eeb857f107732773a653c89ad08e9ce
commit 445a1b818e20fbfff5905bb9070da703101a5c00
commit b29b32a2ae5a6753cdbe13cf2e64c752743f1923
commit 0b81afa5b6d245809d3cc0613adfe6098695253d
commit 71d93eac585a5f94433d7d4a7340a0d7081d925c
commit 98a1dacc246dad474c9f7ddf4f0c7e92d49a15c3
commit 6adba2903fa16c0c55b1f1e3f6506c407a26ff88
commit 0f923778f47bfc8c47fabb6a93721ae71a6e6702
commit 81d4baaf4b876589a72a500d45f2c67bbe82bcc2
commit 5d9543162fd6686e83f86a448fe2ba2e7a5ebbb5
commit 2447c731fe55a36accdd7aff96670d69c06c2372
commit a915450e0e44e9ed2a87fc5b3208d5ce01554a8a
commit 4ed22f1e52426635873416007d2c12e09615165f
commit 605f7c73133341d4b762cbd9a22174cc22d4c38b
commit 26bfc3f36f2104c174dfc72415547d5c28ef3f1c
commit 689e61a4fd6872537913b998101f364fe79a4f70
commit 7f6947fd36f2c562040ad5a2d3d1783440a4aeb6
commit aaee4bbe8a1aa6833d6c42c7015ae63c489fdeeb
commit c1ebead36099deb85384f6fb262fe619a04cee73
commit 6f1ccbf07453eb1ee6bb24d6b531b88dd44ad229
commit 764b1c8df40daf618b293b367f9be1f4fcd1b6fb
commit ce7498acaa88ac3db5385dad2317c03006c49837
commit 8cc0b604f2345c304b7ddc828b880f4f3f21816a
commit e09220f42b5c28dae51a3cf2810afcb4fad9909d
commit 899ff790d1a94dda9bd09a4a6bde01fb7ff0bec8
commit aa7b93eb94ad6d883016bffda670e028fe168051
commit ca161b259cc84fe1f4a2ce4c73c3832cf6f713f1
commit 4224011374d1b4228a59b73149320c61eeb700b3
commit 4b51210f98c2b89ce37aede5b8dc5105be0572c6
commit a80c882183e36b483734681c830a332add912186
commit 77d08a2de6a43521f5a02848f11185b6f46af21c
commit 69e6dd149212cdd681201352a79e6634665004e8
commit d670c78ea7564f9baf915c8e1dc5898a9e6c360b
commit 1d1e434dbe58ef31abc60135957e0735b62fdcad
commit 673aa1ed1c9b6710bf24e3f0957d85e2f46c77db
commit 1935f0deb6116dd785ea64d8035eab0ff441255b
commit 36e239b5d509c1b564669e7ca3d016c444bbf808
commit ee4cce0a8f03a3332ccf48ef8b420a65d02d1fcf
commit 5d844091f2370f01752c3129b147861b9dcd3d98
commit 23baf831a32c04f9a968812511540b1b3e648bf5
commit 4a06f6f3d395d15eb285606f28b74ce5dbc77e52
commit f2c7ca890182d24ac817fa321489346000271c5c
commit c501ca23a6a306a7c11631e02a26c8e0a768d64b
commit 379989e7cbdc7aa7496a00ee286ec146c7599cf0
commit 322458c2bb1a0398c5775333e1e71e1ece8a461f
commit e44f18c6ff8beef7b2b10592287f0a9766376d9b
commit 4dee3c4b32a65d6b140ed506a7a8859d5cab6611
commit 4a1b5d183273ef402edb7c7ff58052ae97259a2d
commit f86286569e92a260fbf8a1975f9421b4a66581d8
commit 52b113e968be66b57f792b2e2a9b8b77f382bd5f
commit efd8127454054d6d52040c17f7fa1656ac3befdc
commit b358793c3bf231c455c55e0173256a86483997a8
commit 4d877b1a6e855d1c8685fa0e27ad7a521b31b6ca
commit f1af066bcfd38daa9eee7195ef772dadaaa18520
commit ca0376ba196ff7ca5fb55e333a94ea23530ee888
commit e3adc46da349d4a4cda1c58d8186c5bce0b011fd
commit a25c2f7a467265fa24d63fb6dd46fa7ba4e3b108
commit 5790d407daa30356669758180b68144a9518da0a
commit b8d85bb50511c901d48fc34ea8f0bb958042fbf0
commit 78f0929884d4811c225fd2c57ecc602c84c07392
commit ac9aa21bdf40828583f73ae755dcee6bb1e9b3cb
commit b8aa52913b84f8b59816b95c28d03424a100df7f
commit 490438469d493e8f764bea14d47eaf4c2ae7cc80
commit 35d86fb626a2554de5d5916b6e2d47d06b483d37
commit a37a512db3fa1b65fe9087003e5b2072cefb3667
commit fd35174e13f98f9232c4aa66689816731d34ca28
commit 67abe9c6a8077819aae490dcd3b9629c2e87bfc2
commit 980d5baeb25cd65b7a791d7499daa07b34346def
commit 97998b893c3000b27a780a4982e16cfc8f4ea555
commit 63a4d258ae1b975cd0dd1f0623f50c119953abda
commit 583da1b82ac51f0631b6ab699153f16b241dd40e
commit 9eb28ac1a25a2117ea5544ffcce59fcc1f128e1f
commit abaeafb1b1fbeeb9e18638c6edbe9db31750c163
commit 0efa70356882ec2a843122f02892391ae61fc4d3
commit 6f6869dcf415f7c222057a3f07c23667e1758585
commit 385c3e4c29e1d4ce8f68687a8c84621e4c0e0416
commit 0289e0ed1b9ae20e7b682fc7ca30d2d324a47618
commit d170e938f01fc8c5c41f8a12f0c12491580829ef
commit a2a0bdf1989c38ca2fc356edd23a114172ee09a2
commit 554836cc24411e4d3645db5392655f8d28d1d47a
commit 7727e7b60f82e8265a1061b81379f5a7bce0dba6
commit 9dce8c2a5f1bf5a304aae39342816f099247d7da
commit d116db180decec1b21bba31d2ff495ac4d8e1b83
commit e38dddcaed60c0692b77a7af355d34a13183cee1
commit 52f1783ff4146344342422c1cd94fcb4ce39b6fe
commit 11f25c844e29f85abb0b3ffdb360a2f82a2c4ed0
commit 207bbfb63dc0eb491f71e96baa5db9c25626a247
commit 89317d4255122f05aaa0ac16d189a9ab3022653c
commit af152c2120587b02e03dfe370b52ba75c40f8952
commit e86bd8b21d57670e38c23ed435a053e7e4cc9e21
commit edd48e6d8f341dcaf1c0a45f4822172d33e75129
commit 5e08e9c742a00384e5abe74bd40cf4dc15cb3a2e
commit fc926faefcb7fade1abc05043db540f5c0fef79e
commit 5591a051b86be170a84943698ab140342602ff7b
commit 52a3a40ee4f89c89026837838f7df386d64c2892
commit 86f3a961f367f5796ed1915cc8253e21c2a329fa
commit 418431bcc9ae6509263f4f3bf4b6a80f39da0772
commit ff38d974bc2842797d1d75f5060afd1cea4a76a9
commit 75bf1df75d5e9a22898c5b6c3410ef8ec3a0de70
commit 94aec514c872250887e435faee333c9da741cd72
commit fdf8ea814ae48d7f5670bc7c3bf34101fb58f7c8
commit aee89b7d0929bfc6530a1468d34e0befc1991389
commit febc9c65b37f6f5cc03ed0b6d613fb045c39b376
commit caa4dffa9abd80f3360432cf89236f018be355ca
commit 58bc2a9cbfdd4abdbfaafd835a0cd78bdad11423
commit 3e3320a7d96c1a5c66b60fbabb38af1f4c4fae1a
commit 00fa40353bf3894adb495f8cce10a8bce43cd375
commit 27488686cb1835f1c69d3efb0eedeb411f675d73
commit 81900e3a37750d8c6ad705045310e002f6dd0356
commit d8dab40a8b37fe8207e1edf68205c709b477e0a4
commit 6246059a19d4cd32ef1af42a6ab016b779cd68c4
commit e69c373c3f0c1888b4b758e37d05e2e7b76585f2
commit 318e431b306e966d2ee99e900a11bdc9a701ee83
commit dd299441654fd8209056c7985ddf2373ebaba6ed
commit fd784a418ed832fbadfa846cef61741fdab0377a
commit 6fe2ecdba34445a17049cda73a399d9685189efc
commit f03eb1d26c2739b75580f58bbab4ab2d5d3eba46
commit 0512e9ffebca0f9a91f6e54b0da90976dce2b025
commit ff742e0ca3db876eb152a5d6bdcf7654ef6f9398
commit 73c4b0f83693604ae5964c68fb23159b823b12ac
commit afa351a15d80993f8ba6ae28652cc23127237e37
commit 501e2c7d42d61bd5f473cc719db431973959e55a
commit be1c21f17ce2d1e8cdb6d27b88a5346cfebfae49
commit 2efc8e1001acfdc143cf2d25a08a4974c322e2a8
commit 56e51681246e574dcb2e13fc071c2945c7667c83
commit 7c0f7ee00c7d52e7ef1953e151a7f5d5fd5db64b
commit f22067419e9683f8fba40ca3a0d56fb3106c7c6f
commit fbc24293ca16b3b9ef891fe32ccd04735a6f8dc1
commit 8855818ce7554fb7420200187fac9c3b69500da0
commit 83688771400895ce39994f158362a3c666993504
commit 70bdfedaaec12dd47b24f16a59d31ae1bafffd99
commit ca9beb8aac68468f1778ad0e0fdad4e204f91393
commit de7511aef767656950d1c236a294c1b941f14ae7
commit 6a929fea7f80fc968f26baceecfdb5129d159c98
commit 88c7ad91e378775a08f54b4a85068d51b5cf52f3
commit 5e5d4b39ce2098a1d09064eb8b4e6b6b9a0cbd57
commit b805d8d785e49cb3ee9279dad1402d5dcf902166
commit 0530553ba842884737a689ae5fac11154dcf3122
commit 541372bb62f289f4402cf55be51fb9cec7373627
commit e82c98f2ca439356d5595ba8c9cd782f993f6f8c
commit d1691bb22eba23a0131f1bde41d268bb0ebb0f59
commit 631420b06597a33c72b6dcef78d1c2dea17f452d
commit 803033c148f754f32da1b93926c49c22731ec485
commit 5dd45b66742a1f3cfa9a92dc0ac8714c7708ee6c
commit ab4f869fba6119997f7630d600049762a2b014fa
commit a50be876f4fe2349dc8b056a49d87f69c944570f
commit 4de867fc237487ce2951a8231d7390237d3f3be8
commit 8d9cdb4674f6e4e7fc789f8184a58c73eeadc16c
commit 38eecbe086a4e52f54b2bbda8feba65d44addbef
commit 764ba43d34ac5fd16e0e377643f89a7208f1f67b
commit ef3d74aa7e5d0ba4e9fc00f1409652e29f46fc59
commit 83aeb49c8c467e9fe77c4f01c80472a4329db49c
commit 0fdf06e449b6d6d970c0709c71a8738cfe551ecc
commit ac7485cc363f2c603a3e1a7a609ef065ad56b19b
commit b62f91569f9aa54b0a60d46a022482415cb968a9
commit 64626c0ee13257e330bc09fa6a169385c0eaf9ca
commit 0c1f033159712b3d071cfe4a3ec0f36f1914453b
commit 2c69679626d5daa680d71c77ad58af0088db537f
commit 4327a6137ed43a091d900b1ac833345d60f32228
commit c8687694bb1f5c48134f152f8c5c2e53483eb99d
commit 02a8ae723225afae25ddf9d2c7ca271b3f856b5a
commit d944eafed618a8507270b324ad9d5405bb7f0b3e
commit 21fc506cf5ef5de9c2cdc04036e35169d2b3e7d6
commit 13525645e2246ebc8a21bd656248d86022a6ee8f
commit 0d68683838f2850dd8ff31f1121e05bfb7a2def0
commit c8cc58e289ed3b5bc50258f52776cf3dfa3bad66
commit 793582ff47f8b73be8d3d925d750bf3ef79f33c7
commit 98f99e67a1dc456e9a542584819b2aa265ffc737
commit cf03e2956af307dc25e8c41fd4cffe44482a6ec1
commit 474f01015ffdb74e01c2eb3584a2822c64e7b2be
commit ce560ac40272a5c8b5b68a9d63a75edd9e66aed2
commit 822b84ecfc646da0f87fd947fa00dc3be5e45ecc
commit f11aee97b13ea6817287cd8dbed9b09a260ff0e7
commit 3fb7efd6866e5d43770e999b33d619a3b345dc2f
commit da5e14909776edea4462672fb4a3007802d262e7
commit 025ce392b5f213696ca0af3e07735d0fae020694
commit 0c0463ff010b80a0c03937ca8cf85587ded2f20e
commit 3cf7cd3f770a0b89dc5f06e19edb52e65b93b214
commit 56d8ce9d8c17bea955b0c2551ee86149486890ae
commit e0cce122514ff76c3c986103c94de68fbb401949
commit dd24662d9dfbad281bbf030f06d68c7938fa0c66
commit fc3888fe2c63b35a22db8234d142823a5ffda9d8
commit b1bcdd409d2d158867ce0b71cfa9bcefe83ce07f
commit d1c5c3e252b8a911a524e6ee33b82aca81397745
commit 425afa0ac99a05b39e6cd00704fa0e3e925cee2b
commit 99d92eaca5d915763b240aae24669f5bf3227ecf
commit 989cd3e76a4aab76fe7dd50090ac3fa501c537f6
commit 3caab67db1f69e077fb12ac194d3cd2a4de06d8d
commit 9675b3ba99ec79273d94afa09e9b69e2b8c0d238
commit 08da182175db4c7f80850354849d95f2670e8cd9
commit d893f39320e1248d1c97fde0d6e51e5ea008a76b
commit 32f7ad0fbe7521de2a5e8f79c33d46110247fd7c
commit 556eb8b79190151506187bf0b16dda423c34d9a8
commit cec24b8b6bb841a19b5c5555b600a511a8988100
commit b6a7828502dc769e1a5329027bc5048222fa210a
commit 7fa8a8ee9400fe8ec188426e40e481717bc5e924
commit 25feda6fbd0cfefcb69308fb20d4d4815a107c5e
commit 70cc1b5307e8ee3076fdf2ecbeb89eb973aa0ff7
commit 1816f4a17f54a01afa2f06d6571c39890b97d282
commit 6ece90e3665a9b7fb2637fcca26cebd42991580b
commit c8c2969bfcba5fcba3a5b078315c1b586d927d9f
commit 74a49415144035f171751d55b11ba04c9f348f9f
commit 4eea7fb980dc44545a32eec92e2662053b34cd9d
commit b03f38b9bd90d9eb29951e56f5a4375984c8dffb
commit 13af556104fa93b1945c70bbf8a0a62cd2c92879
commit 08c677cb0b436a96a836792bb35a8ec5de4999c2
commit 922a76ba31adf84e72bc947267385be420c689ee
commit 2397e3d8d2e120355201a8310b61929f5a8bd2c0
commit 100bd00881f8553d0ccfc99a575966d990c455eb
commit 8f586cc16c1fc3c2202c9d54563db8c7ed365f82
commit 682439fffad9fa9a38d37dd1b1318e9374232213
commit 1253685f0d3eb3eab0bfc4bf15ab341a5f3da0c8
commit a26cc2934331b57b5a7164bff344f0a2ec245fc0
commit 6f5a5e8670587d5066aacd0235071a166ee458fc
commit fa0d9c066dee8f52eabcb8416459aa0568b832f9
commit f4c41a7fd7f99329e5af0ac0a236504a60bfb17c
commit 1bef84af084e981550d9ecc3359baa22533d7b99
commit 084f51d473cd566eab310d5da56fe7b68d0b10be
commit 2da5bffe9eaa5819a868e8eaaa11b3fd0f16a691
commit e6232180e524e11205d285bb27045bf2c19db265
commit e7ec3a249c38a9c9be3a1eeb0142fcbaa3bd02d9
commit 476ac50fc30540e29191615a26aaf5f9dee91c49
commit af7828fbceed4f9e503034111066a0adef3db383
commit 58d9b9a14b47c2a3da6effcbb01607ad7edc0275
commit f57fa0f23d9707747272b0d09af8b93b19cf8ee4
commit b504f99ccaa64da364443431e388ecf30b604e38
commit 720b47229a5b24061d1c2e29ddb6043a59178d79
commit 6c032c37ac3ef3b7df30937c785ecc4da428edc0
commit 8b229ada2669b74fdae06c83fbfda5a5a99fc253
commit 275dac1f7f5e9c2a2e806b34d3b10804eec0ac3c
commit a41d985902c153c31c616fe183cf2ee331e95ecb
commit 0ff80028e2702c7c3d78b69705dc47c1ccba8c39
commit 79c901c93562bdf1c84ce6c1b744fbbe4389a6eb
commit 5247f05eadf1081a74b2233f291cee2efed25e3a
commit 4a76680311330aefe5074bed8f06afa354b85c48
commit 5b94db73e45e2e6c2840f39c022fd71dfa47fc58
commit 996e93a3fe74dcf9d467ae3020aea42cc3ff65e3
commit ad81e23426a651eb89a4b306e1c4169e6308c124
commit dc49c3b1d463a99fb529d2a69cc0e2270d6cb27e
commit 9235c21c37facd131b4d126ce7535ca573f850e3
commit d8843eebbbd15b78c6a7745717b3705eca923b0f
commit 50282fd57bcd3525c9d81eef58df8718e4337c6d
commit 5896f2d363d5cfb7510856c90d5e0ed934a1d340
commit 1aa7f416175619e0286fddc5fc44e968b06bf2aa
commit d5aa417808cf14c052ca042920b3c6b9f1dc6aa4
commit 8173cab3368a13cdc3cad0bd5cf14e9399b0f501
commit 11fbdda2ab6bf049e2869139c07016022b4e045b
commit 9d2d1827af295fd6971786672c41c4dba3657154
commit 68518294d00da6a2433357af75a63abc6030676e
commit c1a322a7a4a96cd0a3dde32ce37af437a78bf8cd
commit bf4823267a817f7c155876a125b94336d7113e77
commit 6d600229df1ed06f46ba68ac706d9f44ba8c5fb4
commit 79ef1c9d14c65a5c3f7eec47389d8c2a33be8e8d
commit aa8bf93101a185b49f83c9137453571a08be6e76
commit c47d122c5ba5f3b3371cfe051d770b5bbd591f6b
commit c21f11d182c2180d8b90eaff84f574cfa845b250
commit 45dfbd992923f4df174db4e23b96fca7e30d73e2
commit e79d85c6c217221ea32354a5ac0587a7ccea02b9
commit 60ecaaf54886b0642d5c4744f7fbf1ff0d6b3e42
commit 7fc602dbfd548045862df096910b7d21e6d300bf
commit a34fc1bcd2c4d8b09dcfc0b95ac65bca1e579bd7
commit 0d2dd02d74e6377268f56b90261de0fae8f0d2cb
commit 40baba5693b9af586dc1063af603d05a79e57a6b
commit 137f9cee113df91107cf91c130d5c414c4b191f0
commit 482e6ad9adde69d9da08864b4ccf4dfd53edb2f0
commit 13aa38f86eea7f95eca4909c075b3b511dc3f500
commit 5502d1fab09df791a8b1208dea9defc418b9bbf7
commit bed61c8fc7ba17d0f259c674137a5198fd2e3334
commit 6a07826f2057b5fa1c479ba56460195882464270
commit c1d35412b3e826ae8119e3fb5f51dd0fa5b6b567
commit f1373a97a41f429e0095d4be388092ffa3c1a157
commit bfc03568d9d81332382c73a1985a90c4506bd36c
commit 55e02c14f9b5fd973ba32a16a715baa42617f9c6
commit c14fb01c4629b96b64ab54caea7e543a0239f14e
commit 8e1b45c578b799510f9a01a9745a737e74f43cb1
commit ac1d8e2f074d9bffc2d368ad0720cdbb4c938fa5
commit 6889f28c736c357700f5755fed852a2badc15a7b
commit 020c76d983151f6f6c9493a3bbe83c1ec927617a
commit ce784421a3e15fd89d5fc1b9da7d846dd8309661
commit 30b2d778f629d51e2ff30beb6d060a0bd7f70104
commit bc3e1d60f933f823599376f830eb99451afb995a
commit e490d60a2f76bff636c68ce4fe34c1b6c34bbd86
commit 663b930e24842f3d3bb79418bb5cd8d01b40c559
commit 62fe398761cd06a428e6f367aba84732a2f1c268
commit 3692ababa322b4d9ffbd973865bc88018e896fcd
commit b6ccf213d95e9373ac1f7fbcb5de3b52eec0ddb3
commit 40023959dbab3c6ad56fa7213770e63d197b69fb
commit cb2e701305f4ffe3a107c1d97f8588b4ed48ccb3
commit 2d6f2f79e06571d41eb1223abebe9097511c9544
commit 79d0150d2d983a4f6efee676cea06027f586fcd0
commit 30c3d3b70aba2464ee8c91025e91428f92464077
commit 2a1eb1a343208ce7d6839b73d62aece343e693ff
commit 1d13c49cf4e246b218d71873f1bb1bbd376aa10e
commit 38e4ced804796c5725e2a52ec3601951552c4a97
commit 99b3886f8674502e967b1d050e40aa669c9098c1
commit 59de751e3845d699e02dc4da47322b92d83a41e2
commit 3b3ffd729e7e3ad706ddba4bb84358df5d43a647
commit d511f95938bf9e75ab73ace0ab1cebbe9a13df4b
commit 73c12de8bee258b51bd418f33dc59f2c6e5fb5f6
commit 982b173a6c6d9472730c3116051977e05d17c8c5
commit b447b079cf3a9971ea4d31301e673f49612ccc18
commit dac652220ba0e5a2ef2da2a47a60b60aea333fdb
commit e1a600208286c197c2696e51fc313e49889315bd
commit d6d4f0a1189313310d77f1d5a2bb6277f3afa13f
commit bcd84301a33b7434a506fdb1a9076b7a234817a7
commit 11d24327c2d7ad7f24fcc44fb00e1fa91ebf6525
commit 95011f267c44a4d1f9ca1769e8a29ab2c559e004
commit 20a2ce87fbaf81e4c3dcb631d738e423959eb320
commit 1dbcf770cc2d15baf8a1e8174d6fd014a68b45ca
commit 55b94bb8c42464bad3d2217f6874aa1a85664eac
commit 94034b306ddde4a4a9c1a597ae7f61f04b710dc7
commit 87af86ae89963c227a3beb4d914f3dc7959a690e
commit 5b711e7f9c73e5ff44d6ac865711d9a05c2a0360
commit e61f67749b351c19455ce3085af2ae9af80023bc
commit 3eb1a3a04056ba3df3205e169b8acc9da0c65a94
commit 7ab1a4913d0051cf5196ef7987b5fa42c25e13b6
commit 7ca302d488f80cf4529620acc1c545f9022d8bb8
commit 7ac9be96b0113a34c33110b32912642bdc8ff33d
commit 9db5ec1ceb5303398ec4f899d691073d531257c3
commit 34e5a54327dce5033582f3609eb54812a8c61b90
commit e749dd10e5f292061ad63d2b030194bf7d7d452c
commit ea2062dd1f0384ae1b136d333ee4ced15bedae38
commit 7c5835bcb9176df94683396f1c0e5df6bf5094b3
commit c8a5d5ea3ba6a18958f8d76430e4cd68eea33943
commit 9930f518b6a82ff10a3d13e0cbde05cce04f5930
commit b7cb3821905b79b6ed474fd5ba34d1e187649139
commit 54d217406afe250d7a768783baaa79a035f21d38
commit 8ba90f5cc71701aa262f222effead02206b04227
commit a92b7d26c743b9dc06d520f863d624e94978a1d9
Signed-off-by: Mika Penttilä <mpenttil@redhat.com>
2023-09-01 05:07:01 +00:00
|
|
|
static void dma_fence_array_set_deadline(struct dma_fence *fence,
|
|
|
|
ktime_t deadline)
|
|
|
|
{
|
|
|
|
struct dma_fence_array *array = to_dma_fence_array(fence);
|
|
|
|
unsigned i;
|
|
|
|
|
|
|
|
for (i = 0; i < array->num_fences; ++i)
|
|
|
|
dma_fence_set_deadline(array->fences[i], deadline);
|
|
|
|
}
|
|
|
|
|
2016-10-25 12:00:45 +00:00
|
|
|
const struct dma_fence_ops dma_fence_array_ops = {
|
|
|
|
.get_driver_name = dma_fence_array_get_driver_name,
|
|
|
|
.get_timeline_name = dma_fence_array_get_timeline_name,
|
|
|
|
.enable_signaling = dma_fence_array_enable_signaling,
|
|
|
|
.signaled = dma_fence_array_signaled,
|
|
|
|
.release = dma_fence_array_release,
|
Merge DRM changes from upstream v6.3..v6.4
NOTE: This commit does not compile due to missing RHEL-specific fix-ups,
which are split out into separate Git commits following this one.
If git bisect selected this commit, run "git bisect skip" and try again.
Repeat this until it selects a commit which compiles.
This commit was generated using:
rhdrm-merge-drm v6.4 RHEL-1350
JIRA: https://issues.redhat.com/browse/RHEL-1350
Conflicts:
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
drivers/gpu/drm/amd/display/dc/core/dc.c
drivers/gpu/drm/amd/display/dc/dc.h
drivers/gpu/drm/amd/display/dc/dc_dp_types.h
drivers/gpu/drm/amd/display/dc/dc_types.h
drivers/gpu/drm/amd/display/dc/dcn314/dcn314_hwseq.h
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource_helpers.c
drivers/gpu/drm/amd/display/dc/inc/link.h
drivers/gpu/drm/amd/display/dc/link/accessories/link_dp_cts.c
drivers/gpu/drm/amd/display/dc/link/link_detection.c
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_dpia_bw.c
drivers/gpu/drm/drm_displayid.c
drivers/gpu/drm/drm_fb_helper.c
drivers/gpu/drm/gma500/framebuffer.c
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
drivers/gpu/drm/i915/gt/intel_workarounds.c
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
Conflict resolution:
diff --cc drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 0eb51c3a69a7,7acd73e5004f..11e99e8ca7ba
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@@ -350,35 -348,46 +348,75 @@@ static inline bool is_dc_timing_adjust_
return false;
}
+ static inline void reverse_planes_order(struct dc_surface_update *array_of_surface_update,
+ int planes_count)
+ {
+ int i, j;
+
+ for (i = 0, j = planes_count - 1; i < j; i++, j--)
+ swap(array_of_surface_update[i], array_of_surface_update[j]);
+ }
+
+ /**
+ * update_planes_and_stream_adapter() - Send planes to be updated in DC
+ *
+ * DC has a generic way to update planes and stream via
+ * dc_update_planes_and_stream function; however, DM might need some
+ * adjustments and preparation before calling it. This function is a wrapper
+ * for the dc_update_planes_and_stream that does any required configuration
+ * before passing control to DC.
+ */
+ static inline bool update_planes_and_stream_adapter(struct dc *dc,
+ int update_type,
+ int planes_count,
+ struct dc_stream_state *stream,
+ struct dc_stream_update *stream_update,
+ struct dc_surface_update *array_of_surface_update)
+ {
+ reverse_planes_order(array_of_surface_update, planes_count);
+
+ /*
+ * Previous frame finished and HW is ready for optimization.
+ */
+ if (update_type == UPDATE_TYPE_FAST)
+ dc_post_update_surfaces_to_stream(dc);
+
+ return dc_update_planes_and_stream(dc,
+ array_of_surface_update,
+ planes_count,
+ stream,
+ stream_update);
+ }
+
+/**
+ * update_planes_and_stream_adapter() - Send planes to be updated in DC
+ *
+ * DC has a generic way to update planes and stream via
+ * dc_update_planes_and_stream function; however, DM might need some
+ * adjustments and preparation before calling it. This function is a wrapper
+ * for the dc_update_planes_and_stream that does any required configuration
+ * before passing control to DC.
+ */
+static inline bool update_planes_and_stream_adapter(struct dc *dc,
+ int update_type,
+ int planes_count,
+ struct dc_stream_state *stream,
+ struct dc_stream_update *stream_update,
+ struct dc_surface_update *array_of_surface_update)
+{
+ /*
+ * Previous frame finished and HW is ready for optimization.
+ */
+ if (update_type == UPDATE_TYPE_FAST)
+ dc_post_update_surfaces_to_stream(dc);
+
+ return dc_update_planes_and_stream(dc,
+ array_of_surface_update,
+ planes_count,
+ stream,
+ stream_update);
+}
+
/**
* dm_pflip_high_irq() - Handle pageflip interrupt
* @interrupt_params: ignored
@@@ -7901,16 -7905,16 +7931,23 @@@ static void amdgpu_dm_commit_cursors(st
*/
for_each_old_plane_in_state(state, plane, old_plane_state, i)
if (plane->type == DRM_PLANE_TYPE_CURSOR)
- handle_cursor_update(plane, old_plane_state);
+ amdgpu_dm_plane_handle_cursor_update(plane, old_plane_state);
+ }
+
+ static inline uint32_t get_mem_type(struct drm_framebuffer *fb)
+ {
+ struct amdgpu_bo *abo = gem_to_amdgpu_bo(fb->obj[0]);
+
+ return abo->tbo.resource ? abo->tbo.resource->mem_type : 0;
}
+static inline uint32_t get_mem_type(struct drm_framebuffer *fb)
+{
+ struct amdgpu_bo *abo = gem_to_amdgpu_bo(fb->obj[0]);
+
+ return abo->tbo.resource ? abo->tbo.resource->mem_type : 0;
+}
+
static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
struct dc_state *dc_state,
struct drm_device *dev,
diff --cc drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
index 862cb0f93b7d,18e098568cb4..3f047c985406
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
@@@ -142,49 -134,347 +134,391 @@@ void dc_restore_link_res_map(const stru
bool dc_link_update_dsc_config(struct pipe_ctx *pipe_ctx)
{
- return link_update_dsc_config(pipe_ctx);
+ struct dc_link *link = pipe_ctx->stream->link;
+
+ return link->dc->link_srv->update_dsc_config(pipe_ctx);
+ }
+
+ bool dc_is_oem_i2c_device_present(
+ struct dc *dc,
+ size_t slave_address)
+ {
+ if (dc->res_pool->oem_device)
+ return dce_i2c_oem_device_present(
+ dc->res_pool,
+ dc->res_pool->oem_device,
+ slave_address);
+
+ return false;
+ }
+
+ bool dc_submit_i2c(
+ struct dc *dc,
+ uint32_t link_index,
+ struct i2c_command *cmd)
+ {
+
+ struct dc_link *link = dc->links[link_index];
+ struct ddc_service *ddc = link->ddc;
+
+ return dce_i2c_submit_command(
+ dc->res_pool,
+ ddc->ddc_pin,
+ cmd);
+ }
+
+ bool dc_submit_i2c_oem(
+ struct dc *dc,
+ struct i2c_command *cmd)
+ {
+ struct ddc_service *ddc = dc->res_pool->oem_device;
+
+ if (ddc)
+ return dce_i2c_submit_command(
+ dc->res_pool,
+ ddc->ddc_pin,
+ cmd);
+
+ return false;
+ }
+
+ void dc_link_dp_handle_automated_test(struct dc_link *link)
+ {
+ link->dc->link_srv->dp_handle_automated_test(link);
+ }
+
+ bool dc_link_dp_set_test_pattern(
+ struct dc_link *link,
+ enum dp_test_pattern test_pattern,
+ enum dp_test_pattern_color_space test_pattern_color_space,
+ const struct link_training_settings *p_link_settings,
+ const unsigned char *p_custom_pattern,
+ unsigned int cust_pattern_size)
+ {
+ return link->dc->link_srv->dp_set_test_pattern(link, test_pattern,
+ test_pattern_color_space, p_link_settings,
+ p_custom_pattern, cust_pattern_size);
+ }
+
+ void dc_link_set_drive_settings(struct dc *dc,
+ struct link_training_settings *lt_settings,
+ struct dc_link *link)
+ {
+ struct link_resource link_res;
+
+ dc->link_srv->get_cur_link_res(link, &link_res);
+ dc->link_srv->dp_set_drive_settings(link, &link_res, lt_settings);
+ }
+
+ void dc_link_set_preferred_link_settings(struct dc *dc,
+ struct dc_link_settings *link_setting,
+ struct dc_link *link)
+ {
+ dc->link_srv->dp_set_preferred_link_settings(dc, link_setting, link);
+ }
+
+ void dc_link_set_preferred_training_settings(struct dc *dc,
+ struct dc_link_settings *link_setting,
+ struct dc_link_training_overrides *lt_overrides,
+ struct dc_link *link,
+ bool skip_immediate_retrain)
+ {
+ dc->link_srv->dp_set_preferred_training_settings(dc, link_setting,
+ lt_overrides, link, skip_immediate_retrain);
+ }
+
+ bool dc_dp_trace_is_initialized(struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_trace_is_initialized(link);
+ }
+
+ void dc_dp_trace_set_is_logged_flag(struct dc_link *link,
+ bool in_detection,
+ bool is_logged)
+ {
+ link->dc->link_srv->dp_trace_set_is_logged_flag(link, in_detection, is_logged);
+ }
+
+ bool dc_dp_trace_is_logged(struct dc_link *link, bool in_detection)
+ {
+ return link->dc->link_srv->dp_trace_is_logged(link, in_detection);
+ }
+
+ unsigned long long dc_dp_trace_get_lt_end_timestamp(struct dc_link *link,
+ bool in_detection)
+ {
+ return link->dc->link_srv->dp_trace_get_lt_end_timestamp(link, in_detection);
+ }
+
+ const struct dp_trace_lt_counts *dc_dp_trace_get_lt_counts(struct dc_link *link,
+ bool in_detection)
+ {
+ return link->dc->link_srv->dp_trace_get_lt_counts(link, in_detection);
+ }
+
+ unsigned int dc_dp_trace_get_link_loss_count(struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_trace_get_link_loss_count(link);
+ }
+
+ struct dc_sink *dc_link_add_remote_sink(
+ struct dc_link *link,
+ const uint8_t *edid,
+ int len,
+ struct dc_sink_init_data *init_data)
+ {
+ return link->dc->link_srv->add_remote_sink(link, edid, len, init_data);
+ }
+
+ void dc_link_remove_remote_sink(struct dc_link *link, struct dc_sink *sink)
+ {
+ link->dc->link_srv->remove_remote_sink(link, sink);
+ }
+
+ int dc_link_aux_transfer_raw(struct ddc_service *ddc,
+ struct aux_payload *payload,
+ enum aux_return_code_type *operation_result)
+ {
+ const struct dc *dc = ddc->link->dc;
+
+ return dc->link_srv->aux_transfer_raw(
+ ddc, payload, operation_result);
+ }
+
+ uint32_t dc_link_bw_kbps_from_raw_frl_link_rate_data(const struct dc *dc, uint8_t bw)
+ {
+ return dc->link_srv->bw_kbps_from_raw_frl_link_rate_data(bw);
+ }
+
+ bool dc_link_decide_edp_link_settings(struct dc_link *link,
+ struct dc_link_settings *link_setting, uint32_t req_bw)
+ {
+ return link->dc->link_srv->edp_decide_link_settings(link, link_setting, req_bw);
+ }
+
+
+ bool dc_link_dp_get_max_link_enc_cap(const struct dc_link *link,
+ struct dc_link_settings *max_link_enc_cap)
+ {
+ return link->dc->link_srv->dp_get_max_link_enc_cap(link, max_link_enc_cap);
+ }
+
+ enum dp_link_encoding dc_link_dp_mst_decide_link_encoding_format(
+ const struct dc_link *link)
+ {
+ return link->dc->link_srv->mst_decide_link_encoding_format(link);
+ }
+
+ const struct dc_link_settings *dc_link_get_link_cap(const struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_get_verified_link_cap(link);
+ }
+
+ bool dc_link_is_dp_sink_present(struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_is_sink_present(link);
+ }
+
+ bool dc_link_is_fec_supported(const struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_is_fec_supported(link);
+ }
+
+ void dc_link_overwrite_extended_receiver_cap(
+ struct dc_link *link)
+ {
+ link->dc->link_srv->dp_overwrite_extended_receiver_cap(link);
+ }
+
+ bool dc_link_should_enable_fec(const struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_should_enable_fec(link);
+ }
+
+ int dc_link_dp_dpia_handle_usb4_bandwidth_allocation_for_link(
+ struct dc_link *link, int peak_bw)
+ {
+ return link->dc->link_srv->dpia_handle_usb4_bandwidth_allocation_for_link(link, peak_bw);
+ }
+
+ void dc_link_handle_usb4_bw_alloc_response(struct dc_link *link, uint8_t bw, uint8_t result)
+ {
+ link->dc->link_srv->dpia_handle_bw_alloc_response(link, bw, result);
+ }
+
+ bool dc_link_check_link_loss_status(
+ struct dc_link *link,
+ union hpd_irq_data *hpd_irq_dpcd_data)
+ {
+ return link->dc->link_srv->dp_parse_link_loss_status(link, hpd_irq_dpcd_data);
+ }
+
+ bool dc_link_dp_allow_hpd_rx_irq(const struct dc_link *link)
+ {
+ return link->dc->link_srv->dp_should_allow_hpd_rx_irq(link);
+ }
+
+ void dc_link_dp_handle_link_loss(struct dc_link *link)
+ {
+ link->dc->link_srv->dp_handle_link_loss(link);
+ }
+
+ enum dc_status dc_link_dp_read_hpd_rx_irq_data(
+ struct dc_link *link,
+ union hpd_irq_data *irq_data)
+ {
+ return link->dc->link_srv->dp_read_hpd_rx_irq_data(link, irq_data);
+ }
+
+ bool dc_link_handle_hpd_rx_irq(struct dc_link *link,
+ union hpd_irq_data *out_hpd_irq_dpcd_data, bool *out_link_loss,
+ bool defer_handling, bool *has_left_work)
+ {
+ return link->dc->link_srv->dp_handle_hpd_rx_irq(link, out_hpd_irq_dpcd_data,
+ out_link_loss, defer_handling, has_left_work);
+ }
+
+ void dc_link_dp_receiver_power_ctrl(struct dc_link *link, bool on)
+ {
+ link->dc->link_srv->dpcd_write_rx_power_ctrl(link, on);
+ }
+
+ enum lttpr_mode dc_link_decide_lttpr_mode(struct dc_link *link,
+ struct dc_link_settings *link_setting)
+ {
+ return link->dc->link_srv->dp_decide_lttpr_mode(link, link_setting);
+ }
+
+ void dc_link_edp_panel_backlight_power_on(struct dc_link *link, bool wait_for_hpd)
+ {
+ link->dc->link_srv->edp_panel_backlight_power_on(link, wait_for_hpd);
+ }
+
+ int dc_link_get_backlight_level(const struct dc_link *link)
+ {
+ return link->dc->link_srv->edp_get_backlight_level(link);
+ }
+
+ bool dc_link_get_backlight_level_nits(struct dc_link *link,
+ uint32_t *backlight_millinits_avg,
+ uint32_t *backlight_millinits_peak)
+ {
+ return link->dc->link_srv->edp_get_backlight_level_nits(link,
+ backlight_millinits_avg,
+ backlight_millinits_peak);
+ }
+
+ bool dc_link_set_backlight_level(const struct dc_link *link,
+ uint32_t backlight_pwm_u16_16,
+ uint32_t frame_ramp)
+ {
+ return link->dc->link_srv->edp_set_backlight_level(link,
+ backlight_pwm_u16_16, frame_ramp);
+ }
+
+ bool dc_link_set_backlight_level_nits(struct dc_link *link,
+ bool isHDR,
+ uint32_t backlight_millinits,
+ uint32_t transition_time_in_ms)
+ {
+ return link->dc->link_srv->edp_set_backlight_level_nits(link, isHDR,
+ backlight_millinits, transition_time_in_ms);
+ }
+
+ int dc_link_get_target_backlight_pwm(const struct dc_link *link)
+ {
+ return link->dc->link_srv->edp_get_target_backlight_pwm(link);
+ }
+
+ bool dc_link_get_psr_state(const struct dc_link *link, enum dc_psr_state *state)
+ {
+ return link->dc->link_srv->edp_get_psr_state(link, state);
+ }
+
+ bool dc_link_set_psr_allow_active(struct dc_link *link, const bool *allow_active,
+ bool wait, bool force_static, const unsigned int *power_opts)
+ {
+ return link->dc->link_srv->edp_set_psr_allow_active(link, allow_active, wait,
+ force_static, power_opts);
+ }
+
+ bool dc_link_setup_psr(struct dc_link *link,
+ const struct dc_stream_state *stream, struct psr_config *psr_config,
+ struct psr_context *psr_context)
+ {
+ return link->dc->link_srv->edp_setup_psr(link, stream, psr_config, psr_context);
+ }
+
+ bool dc_link_wait_for_t12(struct dc_link *link)
+ {
+ return link->dc->link_srv->edp_wait_for_t12(link);
+ }
+
+ bool dc_link_get_hpd_state(struct dc_link *link)
+ {
+ return link->dc->link_srv->get_hpd_state(link);
+ }
+
+ void dc_link_enable_hpd(const struct dc_link *link)
+ {
+ link->dc->link_srv->enable_hpd(link);
+ }
+
+ void dc_link_disable_hpd(const struct dc_link *link)
+ {
+ link->dc->link_srv->disable_hpd(link);
+ }
+
+ void dc_link_enable_hpd_filter(struct dc_link *link, bool enable)
+ {
+ link->dc->link_srv->enable_hpd_filter(link, enable);
+ }
+
+ bool dc_link_validate(struct dc *dc, const struct dc_stream_state *streams, const unsigned int count)
+ {
+ return dc->link_srv->validate_dpia_bandwidth(streams, count);
}
+
+bool dc_is_oem_i2c_device_present(
+ struct dc *dc,
+ size_t slave_address)
+{
+ if (dc->res_pool->oem_device)
+ return dce_i2c_oem_device_present(
+ dc->res_pool,
+ dc->res_pool->oem_device,
+ slave_address);
+
+ return false;
+}
+
+bool dc_submit_i2c(
+ struct dc *dc,
+ uint32_t link_index,
+ struct i2c_command *cmd)
+{
+
+ struct dc_link *link = dc->links[link_index];
+ struct ddc_service *ddc = link->ddc;
+
+ return dce_i2c_submit_command(
+ dc->res_pool,
+ ddc->ddc_pin,
+ cmd);
+}
+
+bool dc_submit_i2c_oem(
+ struct dc *dc,
+ struct i2c_command *cmd)
+{
+ struct ddc_service *ddc = dc->res_pool->oem_device;
+
+ if (ddc)
+ return dce_i2c_submit_command(
+ dc->res_pool,
+ ddc->ddc_pin,
+ cmd);
+
+ return false;
+}
+
diff --cc drivers/gpu/drm/amd/display/dc/dc.h
index 9307442dc225,30f0ba05a6e6..49ac369cc926
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@@ -1663,39 -1664,36 +1664,83 @@@ bool dc_is_oem_i2c_device_present
/* return true if the connected receiver supports the hdcp version */
bool dc_link_is_hdcp14(struct dc_link *link, enum signal_type signal);
bool dc_link_is_hdcp22(struct dc_link *link, enum signal_type signal);
- #endif
+
+ /* Notify DC about DP RX Interrupt (aka DP IRQ_HPD).
+ *
+ * TODO - When defer_handling is true the function will have a different purpose.
+ * It no longer does complete hpd rx irq handling. We should create a separate
+ * interface specifically for this case.
+ *
+ * Return:
+ * true - Downstream port status changed. DM should call DC to do the
+ * detection.
+ * false - no change in Downstream port status. No further action required
+ * from DM.
+ */
+ bool dc_link_handle_hpd_rx_irq(struct dc_link *dc_link,
+ union hpd_irq_data *hpd_irq_dpcd_data, bool *out_link_loss,
+ bool defer_handling, bool *has_left_work);
+ /* handle DP specs define test automation sequence*/
+ void dc_link_dp_handle_automated_test(struct dc_link *link);
+
+ /* handle DP Link loss sequence and try to recover RX link loss with best
+ * effort
+ */
+ void dc_link_dp_handle_link_loss(struct dc_link *link);
+
+ /* Determine if hpd rx irq should be handled or ignored
+ * return true - hpd rx irq should be handled.
+ * return false - it is safe to ignore hpd rx irq event
+ */
+ bool dc_link_dp_allow_hpd_rx_irq(const struct dc_link *link);
+
++/* Determine if link loss is indicated with a given hpd_irq_dpcd_data.
++ * @link - link the hpd irq data associated with
++ * @hpd_irq_dpcd_data - input hpd irq data
++ * return - true if hpd irq data indicates a link lost
++ */
++bool dc_link_check_link_loss_status(struct dc_link *link,
++ union hpd_irq_data *hpd_irq_dpcd_data);
++
++/* Read hpd rx irq data from a given link
++ * @link - link where the hpd irq data should be read from
++ * @irq_data - output hpd irq data
++ * return - DC_OK if hpd irq data is read successfully, otherwise hpd irq data
++ * read has failed.
++ */
++enum dc_status dc_link_dp_read_hpd_rx_irq_data(
++ struct dc_link *link,
++ union hpd_irq_data *irq_data);
+
+/* Notify DC about DP RX Interrupt (aka DP IRQ_HPD).
+ *
+ * TODO - When defer_handling is true the function will have a different purpose.
+ * It no longer does complete hpd rx irq handling. We should create a separate
+ * interface specifically for this case.
+ *
+ * Return:
+ * true - Downstream port status changed. DM should call DC to do the
+ * detection.
+ * false - no change in Downstream port status. No further action required
+ * from DM.
+ */
+bool dc_link_handle_hpd_rx_irq(struct dc_link *dc_link,
+ union hpd_irq_data *hpd_irq_dpcd_data, bool *out_link_loss,
+ bool defer_handling, bool *has_left_work);
+/* handle DP specs define test automation sequence*/
+void dc_link_dp_handle_automated_test(struct dc_link *link);
+
+/* handle DP Link loss sequence and try to recover RX link loss with best
+ * effort
+ */
+void dc_link_dp_handle_link_loss(struct dc_link *link);
+
+/* Determine if hpd rx irq should be handled or ignored
+ * return true - hpd rx irq should be handled.
+ * return false - it is safe to ignore hpd rx irq event
+ */
+bool dc_link_dp_allow_hpd_rx_irq(const struct dc_link *link);
+
/* Determine if link loss is indicated with a given hpd_irq_dpcd_data.
* @link - link the hpd irq data associated with
* @hpd_irq_dpcd_data - input hpd irq data
diff --cc drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource_helpers.c
index 91b59d858108,eeca16faf31a..35333daf4cd9
--- a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource_helpers.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource_helpers.c
@@@ -297,12 -309,33 +307,32 @@@ void dcn32_determine_det_override(struc
struct dc_plane_state *current_plane = NULL;
uint8_t stream_count = 0;
+ int phy_pix_clk_mult, lower_mode_stream_index;
+ int phy_pix_clk[MAX_PIPES] = {0};
+ bool use_new_det_override_algorithm = false;
+
for (i = 0; i < context->stream_count; i++) {
/* Don't count SubVP streams for DET allocation */
- if (context->streams[i]->mall_stream_config.type != SUBVP_PHANTOM)
+ if (context->streams[i]->mall_stream_config.type != SUBVP_PHANTOM) {
+ phy_pix_clk[i] = context->streams[i]->phy_pix_clk;
stream_count++;
+ }
}
+ /* Check for special case with two displays, one with much higher pixel rate */
+ if (stream_count == 2) {
+ ASSERT((phy_pix_clk[0] > 0) && (phy_pix_clk[1] > 0));
+ if (phy_pix_clk[0] < phy_pix_clk[1]) {
+ lower_mode_stream_index = 0;
+ phy_pix_clk_mult = phy_pix_clk[1] / phy_pix_clk[0];
+ } else {
+ lower_mode_stream_index = 1;
+ phy_pix_clk_mult = phy_pix_clk[0] / phy_pix_clk[1];
+ }
+
+ if (phy_pix_clk_mult >= DCN3_2_NEW_DET_OVERRIDE_MIN_MULTIPLIER)
+ use_new_det_override_algorithm = true;
+ }
+
if (stream_count > 0) {
stream_segments = 18 / stream_count;
for (i = 0; i < context->stream_count; i++) {
diff --cc drivers/gpu/drm/amd/display/dc/link/link_detection.c
index 8145d208512d,d471d58aba92..ee16d94b2b63
--- a/drivers/gpu/drm/amd/display/dc/link/link_detection.c
+++ b/drivers/gpu/drm/amd/display/dc/link/link_detection.c
@@@ -1334,7 -1331,7 +1331,6 @@@ const struct dc_link_status *link_get_s
return &link->link_status;
}
--
static bool link_add_remote_sink_helper(struct dc_link *dc_link, struct dc_sink *sink)
{
if (dc_link->sink_count >= MAX_SINKS_PER_LINK) {
diff --cc drivers/gpu/drm/bridge/tc358767.c
index 232e23a1bfcc,91f7cb56a654..d6349af4f1b6
--- a/drivers/gpu/drm/bridge/tc358767.c
+++ b/drivers/gpu/drm/bridge/tc358767.c
@@@ -1896,12 -1896,12 +1896,12 @@@ static int tc_mipi_dsi_host_attach(stru
"failed to create dsi device\n");
tc->dsi = dsi;
-
dsi->lanes = dsi_lanes;
dsi->format = MIPI_DSI_FMT_RGB888;
- dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE;
+ dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
+ MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS;
- ret = mipi_dsi_attach(dsi);
+ ret = devm_mipi_dsi_attach(dev, dsi);
if (ret < 0) {
dev_err(dev, "failed to attach dsi to host: %d\n", ret);
return ret;
diff --cc drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
index 8035e50f7422,3aeede6aee4d..ae367d473200
--- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
@@@ -2467,7 -2462,7 +2462,7 @@@ gen8_dispatch_bsd_engine(struct drm_i91
/* Check whether the file_priv has already selected one ring. */
if ((int)file_priv->bsd_engine < 0)
file_priv->bsd_engine =
- prandom_u32_max(num_vcs_engines(dev_priv));
- get_random_u32_below(dev_priv->engine_uabi_class_count[I915_ENGINE_CLASS_VIDEO]);
++ prandom_u32_max(dev_priv->engine_uabi_class_count[I915_ENGINE_CLASS_VIDEO]);
return file_priv->bsd_engine;
}
Commit list:
commit cbf143b282c64e59559cc8351c0b5b1ab4bbdcbe
commit d33a54e3991dfce88b4fc6d9c3360951c2c5660d
commit d703a0f45a70e6ed4749780ed5efb2d1ec042297
commit e566507bf2f460967f53030ef84b67ef26dcaf8e
commit 851a4a77a9f6441bd73625fe6dbc29c814ae681f
commit 18d2f6d956d0a39d5a27b0512aee17cb253f5788
commit 413ebc4803f025c64ec80de07c50e65e2f59ae89
commit 19ff997ffc43cb203fb7d6ac169b69e26c7dcbfb
commit 249a4f5e663ccd1c1b1d11db68020e488a020791
commit 357513233d6456c9f99e34794897efd4ae907e83
commit 6d8d5c6b643062a0dfc7632f7a73057e75fca057
commit 680d0c7960f12fc3852c70b2bab278cc5e70b88a
commit 7b775d36589390eaf19ceada78141c60ed1c7c84
commit f3783aa6b871ffece27388076d2c200a22bdb162
commit c886118bd8f574a635dda176b2460c03c28b1177
commit 0d6e08c72474043d7e686c32f25b735bfcdc9daa
commit 220b3376c0781ec46cf86e19b7460e7e1ccf913d
commit 6e52ced02392c760936159cc53da5669c94dd9a3
commit d374c047b38e9f1130308aae207dc44045cd5cac
commit 9b469093d321f23adf13d966797f55242278c3b5
commit 24efe424f096953d355cc366cdd471ba8cdaf035
commit 2b6f7e39ccae065abfbe3b6e562ec95ccad09f1e
commit 60bb4478f7de8ad45bc9464f94d766d8ec807606
commit fceeca7f3cf1c2b8628cd76c936b51271b793b1b
commit 28cbe92b59d7b8b1768f1900f677cf8567edd0bd
commit 1a45d6811c8790f4f9821038b243a71c9be1ebe2
commit d023d6f741c85bb00d2ca43d338327fbc150c113
commit c22cf04c6ab1d9ad5be2ec36e9822bc45526e8ca
commit 9d691c197631f152d7dc6788098f372b64d3bc43
commit d1702963ab145eff51c31e5fdc2867e9c5959ad5
commit 69ea87e1591a39dd53968f2f5d496f0f9499ad74
commit 3c4b33d0e67ddb900efa7a0eabd33a667c699ff9
commit 9c608cf39b96666ecbc163e3f6197f6d8ea78e56
commit 33d0c67dcbb045cbbbba9d41fa6e4b1f73bf3888
commit c76f67275f9c60d7ff53b6a90e90897c207d3d9c
commit 2324cdfffbaf0bc2404d919d9920b09148f8645f
commit 9dd56e979cb69f5cd904574c852b620777a2f69f
commit 16bede135fb1319c22dfa55b2de20f482fcc9cd9
commit 77d3b6130203299123d17df78b843f193c18b25f
commit 7f66476c930cdb5e0bc4dc563f241498a3791f99
commit 19d7dc6638a92535769b9ecc2b04a7f3afa0a7ed
commit 7fd7eacff0dec488071b5f1fedfcd382bf3ac074
commit 2a6d731a8f16192ece8e1649ca13e55d80561594
commit df5bf3b942a8d344bd9cbbe6ac31c9a2ea1557a4
commit c913cd5489930abbb557ef144a333846286754c3
commit 73a6c676542ac18d2556be80260bf554f1cef4ae
commit c580c2d27ac8754cc6f01da1d715b7272f5f9cbb
commit 43e6fad17a182de1825277d986a1e4309111e5b7
commit 9541fd164bddde24eb575c5744b6a31a6f62213e
commit 14f25bd0bb938af7359433db4ef9495aad4cf703
commit 4fae160fde76e9dc929ba57ec0efbbc1197daaf0
commit 1f16fdbb2a5a7504fcc4be057000e589cb427fbd
commit e4ef6503bd4c4ee6fbed2623c50a338dc93d5e9e
commit 23cc452e9b6186d6a8c1ddb380a0193652ea6579
commit 3965b8812e173c38b2fd1872dc3e08f436311575
commit da97065e4692247767d2a7f2850d193eb2f65229
commit 247c7a4cdad87564da49a7879aca2f0653689502
commit 5dfb29d444daf94120762e9d7b9fe6aa4e0f9929
commit 1af546c2cec6e28b6bbe01a4ad0c38e96e54fcb4
commit 7206b517665e8b59d7e18877d9741da193cd3325
commit 4b284831c6f3656627958bced181215e7b9fd322
commit 36e491f8f6e9bd9460923da48b2e516aafb80bb2
commit 01f0411f8e307e7154d062f62d4b0799b8498748
commit 960dafa30455450d318756a9896a02727f2639e0
commit fde789e8339c60c8c58e5a71fa819fcfe52d839e
commit 58c7ee0676bace7a7aae8a3e21ec8d09eab1c895
commit 24243212c5ed2a5f3c1d1d74fd1913d8c189dec7
commit 1802537820389183dfcd814e0f6a60d1496a75ef
commit c7ea16f6a47f9b6eca4e9cdcab8d1f587ea9e484
commit f87c1f0b7b79b7a4f165750d1884da1fd29ae93c
commit 0349c41b05968befaffa5fbb7e73d0ee6004f610
commit 54762e920eb483bd70aa92421788bc4e87e4fd1d
commit ec852e3c88d5caa457557406c0c787b56c36dffb
commit 389b9d91dd57fd2d4428bd0c19ed1cacf2fe918d
commit e3ea1806e4ad097c9e67e108853a4ae0f3f100cc
commit 8d993276486a1642fdb70410debfe3692cc508f6
commit fec37500cf1bca65934c60b03f0409328e60ab7b
commit 118b5c136c04da705b274b0d39982bb8b7430fc5
commit ba00eb6a4bfbe5194ddda50730aba063951f8ce0
commit b33771546309b46b681388b3540b69a75a0e2e69
commit ac7215c423a34837b634c90cf29681537bd9998c
commit 70994becf2d0899dc9f8c23154af6aad34b0981d
commit aae4f817b8176c0232fb1cde491da6d0775bed14
commit 9310dba467990d393942cfd0c77acf21484050da
commit a0dcb06d29d9e477e1984dc3859e61568361fc1a
commit 4039e44237e8ebb06f0e4af549fbedf7c41df9db
commit 5f21dc07b52eb54a908e66f5d6e05a87bcb5b049
commit 05d5562e401eb0aefab89788a24c0d4e776150d7
commit 3a38be31ec82920a871963c086393bc0ba26a655
commit 869bace73ae2b4227e57ee3fd994bfa7d4808938
commit 4602f42f015232f6c1b19f92d14688aea00448b9
commit 4fd4fde8e42e16425e7acab2e093614491107083
commit 580419965c263120ee05cd99ab8d35c2fdbc449b
commit 96eecf9beea7603d6ccb5d0baace85fda842ea15
commit 1c621f2a21cd519965c6820698345fa14126fec5
commit 9847ffce9b5f83a7707504b0127aeb6a05dbd378
commit a13af50d75bc266bc746a2ac2b38d597f08f4201
commit aed01a68047bd92e6f1273fb2e0b8e99ca72a876
commit 2b9ed318ad1c579df943c1eb07ae1f1c0e5e9d83
commit 064b3eee8e0260d8053b588c71a3f71b762cc0f3
commit 7ee6f99dbc45eb457c87241aac1067fef3f263d9
commit 96a7b60f6ddb2bc966fac800c1dd18876a6e3c3f
commit 7c18189b14b33c1fbf76480b1bd217877c086e67
commit aa8c85affe3facd3842c8912186623415931cc72
commit e5e43d3363d7c53d99163e94cc61d418230da17c
commit 3cd7cb2a7b6b94841aa7aad4c56ac5d7bad683ad
commit 2cfd1b38413c15d1c0af6e24ec3f0af8c36cc27d
commit 4583d6beb04976dff3440b1efd2c5956997fd839
commit 9da2957f9f81ed29d0046021f131be352cb2199e
commit 6b2e8aa45126161135fb4a88870c9526fd8319f8
commit 09881d2940bbd641f27f9ae7907e8a1893bc54b2
commit 6703e28f976d9240311ad260a73504bdc6f6a74b
commit cb8097a45da128127db71cfba2d4a2614cbf71f0
commit e0029da927fa9cc3c8ca6b37dc10624d1209e310
commit 39985eea5a6dd1e844f216028252870e980b9e7f
commit 668b206601c5f5063e03b76784a0d3024fa2b249
commit a44df74c720eb45d16a92ab9fc8a780d961d5e2b
commit f1dc979b6088426698b13e888c65f9c287af48e7
commit dfefe7bc53a115d8a99478ab9b8d7726c70c0c49
commit d24b34758dfaf47276363746e286464d13649efb
commit db5d650ff0b5204ba679320ecdbc5e5d7ea80508
commit 5f42196d39291ac5a34b4c68c754a7b023892d53
commit 9151c85cbb2c3962d65f12dd0e8b2a7f0d9908ee
commit ee9125720c024e759d5c0f888fe7b98dd22e40cd
commit 1b108bc7607e0ac54e1664b9d8b15c70d2b0af62
commit b5d0bea79367144cead950bad38e7c9a1ba5c087
commit b17a15d6189fa86bc06cb88bb2980888d81cdd75
commit 9d4b7af520e542b82a5db210c2053b5dc190eae0
commit 36d421e632e9a0e8375eaed0143551a34d81a7e3
commit 9ef8d83e8e25d5f1811b3a38eb1484f85f64296c
commit 9542d708409a41449e99c9a464deb5e062c4bee2
commit 2bf91341ee42fddb6615936701bf2ed68689d452
commit 273e1daa1c025d8a8649d5622ab8b7f344960e9b
commit f9dfa87c43a38dca16fcb4fb527d3789ca7bf611
commit 1b2146de7c5bcc25b75484c6ff1c94971c7696e8
commit 94b49d53acece870d242f6b148aff3940cb6c92e
commit 284c5baa44218ef615ed8f5edcd6cfdedaef6abc
commit 0e7a16f9ddde61d7d65bae9c7ddda2e4a22cbc12
commit d6683bbe70d4cdbf3da6acecf7d569cc6f0b4382
commit f56e0071a6fea6b416943d8736f3128c8b2abed2
commit b3baf0c00cbd2174e9fdc7141ea30adf123c4a8f
commit f20eb7845ffde91abc954493431aced4f5f5c4f5
commit c50ad291e4d9cf32dd893c2e06019e8c7da89f65
commit 61b795a9c35264022cf0bfc49d26e75162a23d5d
commit 06f1b06dc5b75b1a4071c905231d40cd74587a18
commit 9fcbae04987b9bbc6b5459bb37814be811c6e05d
commit 3dadb4a17035ad4c84670d2ee1a3070f5fab4bbc
commit 7380f545a8147500e02843d1327f32ea905c953a
commit f22c982ef4152f55516865e4d802760cedda6470
commit 4923e99fd0a711f854b964e1a8cf9163112d1cee
commit ae2ac2d806b7c3a0cfad4cd76c22aa44b69d9265
commit 2bd4054c7d5c888db8a2f985c8f01a9278792210
commit 98463a24797c494108850441510c48741976c2e6
commit bdfee32454843161ebdfa3ff9fe37dd110604db5
commit 1e116253821a7a3404f4220a0493793f39c7117e
commit cd5103eed56fd9012221659c403c3339b8c20305
commit aa80b2b12b89a4d5de2960968b01128003b147e6
commit 8910d8b7ed288564fdb0ad41e02fd8a381f7b727
commit 59ea2887907db7315388f4e37f59aafac8ab2530
commit 8eb2e3b47e3564d2ed49d3fbea5f472950ef98b7
commit 46b3c0f683d6a2128f7f2bf236bcdc62caec5c83
commit 5ed88f96c137b9b68ad99f40721031feb6b26923
commit 22fac49febaafd7e3f141952915f56ccd09f5cbf
commit 02107ef11b438a2528a113d8a546d4dceb8bcce1
commit f99926383bd62d2b707e4599b4e096e943f63d42
commit 6fd3d8bf89fc6525264552910accb09c93abba02
commit 158350aae16a4e666e261da0bb4d91c0601a3edd
commit 01361096a33a81cc224e12e8cf06240f12737365
commit 1008266e31a0cb86cf8ac18eb77047283ae2b800
commit bb45217ff335d2662ee3cdfe3f32817e2d2e06ae
commit fce187ca0cdd6dc707db2c7c22b863cd8bb91ef8
commit 01a789fa45bb0802cb396f4f30b1351840ce0c09
commit 55a4679e88b20310de0d614bd3b2f935f98ba5a9
commit 48630a3151b0373f005270c69f0caaaf08e22fd3
commit 5ac421a9ec6668369b7910d4b1e7f5e7e9e9ec94
commit 3eb08ea58e5717cf758b9eff6d9604aa3525ab94
commit 998894d5dd49462013f1f61f094e9e91990f9e7a
commit 1d9ce1cbdc191180038b66a914b420b8b0075062
commit 9c0cd4bb9a2da8c69cd9331ba1824bca027d6090
commit 050db7d70c3c6cf72d11dde8961f953f990b9c6e
commit 61a55f8b1ebcde68bc7bfd57435b1b3bb1121b8f
commit 6068771673a38efc31ed5b99645176b4d3a33129
commit 93604a5ade3a021fe3daf37f8d378b12cabb26b4
commit 495e440b354203d286127f8515f67a7a711ab6ed
commit 1e84dadb2762cddbb5a1066713fc5fc6505e9f27
commit 169b9182f192e8725c8de5d7d77f00f6ae6c7fd4
commit 8f85e4a1667fb12a2f0f83876ec68a75554ed5b3
commit b712b3830a327b171f0a00512aee5e84d45f6d36
commit 2a742fd1640574b80682669825274122e71141e7
commit fedee62781e3aed958be475af6e5dbea90cf232c
commit 1f89b94bcfbf1d9ce7f26bb66d8ee0cd7ca7d6d7
commit d5f84973acddbc6140cc82d74ae8f5b3e11c027f
commit e18b19740299285fb18ac1513dcaaf0fa40e140e
commit bfa5969e1144c8d0fbbe1a976601dcbc50549757
commit 2846cf3fdb8b500e374efdcad3134633dcc5ce60
commit 1552dd6ef99fb54479afdd2fb84473b9655cad3c
commit 9548fefcaf9ab61291c0bd427627aa773b19dc75
commit 992ed9d525609e2bcef9207c25fe2b1949f158f1
commit c604d31950d10db45267bbcb9ce8f1dbc2bfa74e
commit b129ff30acea495b1455cf8d6e1d86fdb87d22d4
commit 95d39a0c64aa529adbff1bdafd391e83ad587602
commit 5eba7426050755c96d4b9561432b18ca000a4fd4
commit 66560f33059ebe606cad7aef9c298a19d4f9e998
commit 839259b8afbb78bcd6d0b698e82cd4578a505ba4
commit d1e8959203f21aa577f2fef531109c9cf872d4b1
commit 3687ce7517a1e81141191bf12e3e86840d6b9ed9
commit e7e12f6ec8bfb040e28ea7287c907c19477149e6
commit 518b761a7b0e2bb2fac2518f041c71b461adf761
commit 82ea22256b9c1fe3f5a089733969f6539d92d9f0
commit d24b77e444bef83155557ebf4c2b3c551f198926
commit 28d58468ad7d9630c83e4ab3dcc0b2953a276f7e
commit b2daaa9360610c584fbe8d7d5e8d1fdb99abc7ef
commit 4fa01c6357d5f4ae80b1794c5ecb71c0c66cd528
commit 4d3ed6326449ddb1356544bf838024eb232dd315
commit 4f101d5710a84f334b05a96713000ce8dfd4d598
commit c3ed0e72c872901659ed0fef4b91eb6ab7dc6aad
commit 0c3c99364361171f8cfeb8b66b1e6f4709919dc3
commit cb42e8ede5b475c096e473b86c356b1158b4bc3b
commit 957565a473a630a3d01932c7173860b33e7acdbd
commit da6198afb01df0dce47fde23b53183cc0009b6a2
commit ba8ff971008cfaef6049df52a6058801202435d8
commit 0eb1173422f648a503a2ed1a8364f2d8bd7f690c
commit c087bbb6d84e7a2e8dc834fe066d2a91360c0db6
commit 1c388da529c8206818de6dd89b99ba21acc74f6b
commit c6a53c90e3be8b7e745a46c941631d0855648313
commit 5bacecc3c56131c31f18b23d366f2184328fd9cf
commit 5631f6a0436ac30eecfb2e6fdcd0a517f90add8a
commit b568e6bb49d49ef05fa3aa4bb294ae960e1d778a
commit 217a8c63df30246f180760b1e1f3e57267efbb6a
commit c5a486af9df7a7180d0f19fd4b6c801da64a154e
commit 8ac752463390882a5e73d85b141b68d5c259652d
commit 7eabaa892d9c57ad9b2946f923d781e8a16f8e88
commit 3842d671d7556f33d5909d472954328201b8b530
commit 3f6a1e22fae95a50a2e4815305931ed1da5c9a12
commit 67fe7487fe8946f33009c7b5a7eafec535a7826b
commit 67b7836d4458790f1261e31fe0ce3250989784f0
commit a8e47884f1906cd7440fafa056adc8817568e73e
commit 5767dc9e2df70550552c856ebc4b8467767661f6
commit f9b9297b1facb636ee81f03be3658087067babc2
commit 7416cbbc9fb9b09ba7664dc0f3176c567685a83c
commit e0106ac97886b6bc36c480de72562d3e70b3f8b1
commit 567172bbb4805a9d9e84e4621210212126703d04
commit e47f1691adbcbba22b364888cb34686d6c7d1152
commit 283947bbd5dd8885dbfbd86515276a9ce4a31251
commit 60971b204c615a6881f50c3dc9a2182551282b94
commit 1a80993ae37341c2017108d02975683076ace2a6
commit 61d2a9bec406329ad57e2ecf8e33338a21057eec
commit 1e5d4d8eb8c0f15d90c50e7abd686c980e54e42e
commit b4ceeffd13870b641a284ffb0f6fb4ffe19b0b14
commit c69fc3d0de6ca79d946a2715f8745a1eae69c3d8
commit c32699caeca802cfa3416f798abcff719d1633f7
commit 36951fc9460fce96bafd131ceb0f343cae6d3cb9
commit a06d565b4a1c032ff8a8d22ceb39c061443208d9
commit 504d3cae8b6718ab9c2fbef9e4cb56deb29ea9ee
commit 9bb10b7aaec3b6278f9cc410c17dcaa129bbbbf0
commit 1e74c05b275cb4224f3f8c2240ab24486818a823
commit 6ed373b0d572cde539a461bf333661cb98595e63
commit 7bd571b274fd15e0e7dc3d79d104f32928010eff
commit 627441f5a56e2ee119baf340b394cf4ec9c94251
commit 1099238b966e9b291fca40d908d6a016ce758455
commit 7ae1dbe6547c39410d82156c96eaa9c8cf55e87a
commit 2d81c4cd78477e473dbdedd1dbfb67460fa53c58
commit fd234e7581162573742dfb8cc4dc0af3d3148138
commit e68d1e074d5e94b609de01a3ad3287d3d17721f2
commit 26a9f53198c955b15161da48cdb51041a38d5325
commit b5fefd01e8367763840e032bf1537747905a1447
commit f3f8f16b10f8258f1836e1110099097490a1d6c1
commit 82a10aff9428f1d190de55ef7971fdb84303cc7a
commit 32953485c558cecf08f33fbfa251e80e44cef981
commit a03e3cb16dfdf4e39ed4ed80314256f9ba671ff0
commit f4658f43450478240e2e758f0532d19f921f9a69
commit cebc13de7e704b1355bea208a9f9cdb042c74588
commit abd74d262b07f33d6c298f1b2fe03cfcdb3c72f7
commit a38410860628909712ea6a2becd42bab56c70e9a
commit faf67f640fa6c036d19727e294a2915e3fe5bf7c
commit 37b42cf904e2ed92a612aa09481385cc9eb2a6ce
commit 5abaa6835f42db7a20ff57447d60303cd81495f8
commit 4ce0c8e7cc1c81c2123a7b44223b0bffec00cea8
commit ca62297b2085b5b3168bd891ca24862242c635a1
commit fe82b93fc101beb6396193b1713029d18d740e7f
commit d34b4288bd1e3c70ec6d790fcf1041e99d0fc85e
commit 30c35a4ba9cd91e07825da8e2846887cb000114c
commit 849ee8a2f0df7a4ed4d281e19d3c9824b8e60bc2
commit c103a23f2f297c6ab2e5e74e39b655439f3524a6
commit 254986e324add8a30d0019c6da59f81adc8b565f
commit 12e8ed969852c11503216115952c84f7c2f4c6b5
commit 55cac10739d57b94de4626bcb009bcdafaa781af
commit 0591bdad58c4b83a286872305e748bfd77d16d28
commit 775d1bee8fab737c9e70050f61ad5370d8733383
commit 29b41cf707b5ecc55cab12bfa04fbd9811f4fd04
commit 4d14d7717f19fb1125496b1fd836ca89f11d540f
commit e3ecbd21776f1ff7610dc2c28b3b47ba8c23e10d
commit 72122c69d71784e390527819754ea456421c4501
commit 409f07d353b3516c71fdf12d7fa576004f0167a9
commit c5dc1756dc98e730ebcaed156a05b961086dc2f0
commit 1a62dd9895dca78bee28bba3a36f08836fdd143d
commit c3f059483671426266f681833bac6c09b0736247
commit 26f8c146924fac0f50157fe22d1948fcfadae9f6
commit d3708182cbc3404aa2f7fd5ccfa07328018f4bf5
commit 893a6c224a24be49ea5a30315d1ae5967598a43d
commit 95ccb25e32af8a86286df215f19ab2c0418cbcc9
commit 825f0de2fdda691776b6f45af1d3c9ca3d5ff7fc
commit fe00866c65602e94c1b6b3d3efcea3633330b02f
commit 1b28c1c789d0c11be213bb5d892f9a094ab8e201
commit e81a3c12b88ab685ce10482c3f6d5aa46f08a6fa
commit bd5a7886f5ff6899170f3acd85f57c0f43d0371e
commit aad9729ec0e009440ac8c1a4be2204e4d3c08977
commit 6dbbff25b39565c801c87379bc85933fb436518e
commit c0d5c293ceb752e4d91e40854196a13f3cc070c0
commit db1c1a8f0a2bb69eb9123b2d2a88cc7d3d49b13a
commit aea9040c2df97a03b73a13ba124d1b6561e09c4e
commit 2b595659d5aec797d2f469691cd543e9b3500471
commit f6c0cd55fed897e8441e41c4bd8220a39539bcf4
commit edfea16a6dae9c03bdc97babdd69960093263354
commit c1aafd6399a3fd35594778acc618075e1bac81d4
commit 9228742caf899fa72230dd8da19ca4c7528badb8
commit 0eaca1ed0d2f70e3e573ef103ddbde582b2b3745
commit a98ffd6e333583c9c3f57920c505a37eaf5b2586
commit dded35acecffe9b6ec881ddd42c6275a38fbfbfc
commit 4b736ed40583631e0cf32c55dbc1e5ec0434a74b
commit 6e9213287ce4d75765d2806986d4e3c7e4991b3b
commit 43660b4ea53abc2be04be18a147a39e1f4cb8b72
commit f999adb7acb7d52aa8e8be0dc75f604d41e51e38
commit 7cb3cfc030640bf860bf8299aa00cdffff92a40c
commit 7bb3956178e5eaeeab5134cf38e0f057bc2344c2
commit 4d2c09d68de2acec46fb471f5a358627c9dc3885
commit 2b396e75be74078640becb36ba8c01977bf1e0be
commit 4c93c62e77467fd5e9a9fcfd708a50b23a9951e3
commit 0df2032ab72a47c531ff653d32d82df5e7d52e3a
commit 4f17289f14da7fd255f330d0e6545251f81c711c
commit 2024ccc8e28309d549578190ce0ec7a986069e9f
commit 4688940a1e03fc2457e40aac2257fe55e97c8d3e
commit fbf46565c67c626849c7ce2a326972d3008d2a91
commit 7138fc88fdc1f999a547657af8623d3a2a862fc1
commit 051ae8d59c321da4c3bc8ba7d75dfba7734e2c6f
commit 55f86c2b030463f8c98e66911f4548a1fc0666ee
commit c7850370574f0594993d21dd02c54d2a853d2d6a
commit 0b6c67c22d2374a98890cc8b6204302f75e14cd7
commit a32d7d6b198b23b7d8f40efb9efe42779ea7b011
commit b059cba51979b3431b75e0c6f18e9f75e427537c
commit 31865e96f9eb52ced6d5e23f9f3a5376f81c9410
commit dc622367c56fa0b5a911be73e22584b3cc69f5c5
commit 2d51f3afbea4184487132eed85ae83a13cd6b1c2
commit de534c1cb0313a070f45938a53b53927cd34e5b9
commit aee0c07a74d3f79aef553e3bfc6ddf184d33d3bf
commit 67d198da2fd493629e498629781edc5695bbf4d9
commit c93aa7f33e94ee9d64277fa2a345dc30c127d798
commit 0db13eae41fcc67f408dbb3dfda59633c4fa03fb
commit 0215ce9057edf69aff9c1a32f4254e1ec297db31
commit c0a561d96a281b91d48b77278714cf5b791a70bd
commit 11efe095dfe0768f5b248b77a84e5aa748f14204
commit ab487ea8910d2a84f851cb87f2cb49adcb5b774b
commit 1e88eb1b2c259994d034b0833cb489105a984ebb
commit efa4c4df864ecd969670093524d3e8f69188e5eb
commit 84c03df58d8bbf77feb2f199f10dbe8f7f72c782
commit 36516001a7c9cd7901673548ec685bd180b1b548
commit 76f5dc40ebb188b081e03783541856c03e97f8e0
commit 6455cb522191dac057d5cc4b3f24d5d3ae6a33ef
commit 202a3816f37e49ab490ff4582f1fb34390e5824e
commit 788c6e2ce5c74c0a22d4e44cca348c8458b3f01d
commit 34fd6df7886989019d4f6996da2d2edfde5bcd34
commit 2b02d746c1818baf741f4eeeff9b97ab4b81e1cf
commit bf77fda02411fe2cac3522f40d8d6882d27ac14b
commit c186c13e65286a46b61f5c295f9f9c65c75c926e
commit 4652ae7a51b78d7607c247228ac2a14fa0088bbf
commit de930140bb578ebb075772e946e20db68550bf2f
commit b5ac70369e3669df4a0c192c40c0e70c3e56439e
commit 97fa4dfa66fdd52ad3d0c9fadeaaa1e87605bac7
commit 7da2bcda5899e92ef3442d5997154d8220245370
commit 2820433be2a33beb44b13b367e155cf221f29610
commit b8272241ff9df5b57e2777a07c1fe8af3d9cbf93
commit f7511289821ffccc07579406d6ab520aa11049f5
commit 7222f5841ff49709ca666b05ff336776e0664a20
commit 81f743a08f3b214638aa389e252ae5e6c3592e7c
commit bb46a6a9bab134b9d15043ea8fa9d6c276e938b8
commit 1fd0da91a882a2421e7702201f707c5e06bba6aa
commit d37a3929ca0363ed1dce02b2772cd5bc547ca66d
commit 3e22193d8cdc0576cd2803da3cac9f4fc9222273
commit bd1b5799545ed838651c618c9fbf8fb8b5feeceb
commit 13e3a038abe033b38db6313de7a9f55ac83ae422
commit a2c5dd9ec6409821505e0409814cbbf741ca61d9
commit 511a95552ec878fc59a294652ebbf73a0e8e0c76
commit 20ce5ed69bfee125b223bb0c6a731128caf07b09
commit 5fd1bea5c23bb921720b6c48ceba5d6415f2ed02
commit b79f85b7aa5a9ff9f702f40c6a5fe4a53e965cf6
commit f651a7b64cec907bd645dd7ce1739fbbe257bceb
commit ba137e64191f313eb0e91eeb9a1a2db1b1d5234f
commit 920da947af28638bc94bb0012ce8600ba2d06c0e
commit e67db9d2fd33e1118b518deab45dd6cdcf3c62a5
commit e89838968ee4446073faa718e9303bd6341ee0d1
commit 5a2854e577dc2b4538711afb9d788a6fb835b640
commit 22de25f83c6b9b2df45fa346b632dcb9b6f1acda
commit 8bf0d9cdf36b0bebf17b733e3f5158783d765df3
commit 36e88a9e4569df86e81dc75a7fc6f2d41f8ab8e0
commit dffe68131707df72c9a60f18fddd3732a6d3c676
commit 83923cb27323139f9e2185db9b3b1299e6cf22bc
commit c0a76ae8743a8d6cfa5c06b5efa497139100bed6
commit d068b700432308962d1bb6da467d1dfb1358c2be
commit a9d491d99ece898fe6fd5f7374eacb5223e1531b
commit 6c5e25a0255d56e8455869cd7f90bb9be7478132
commit 58265640fbd9a57bca521c3d83012fff2cd15fc6
commit 3a906a0cb150a872a23f6204449d3f8b50693837
commit 5922231bd346da717ceee8d14b4361fd595e58ac
commit 95f8138d669fd02e304e5e2531f11f4f335dcd22
commit 8d746ec4ab14e7cb82787c6f8bfadee8dd20effe
commit 8ab3b0663e279ab550bc2c0b5d602960e8b94e02
commit 96c25b03145aaa0d2900cebf0349f13a689b01ce
commit 0188be507b973e36f637ba010a369057c8cb7282
commit 561b31acfd65502a2cda2067513240fc57ccdbdc
commit c4298d15778bf21eb4834768f04c0dcf7975dec2
commit 2b897eb4f5993a221dcd8e4f29fda3046669ed59
commit b09f9670b130380ebace4ce378ec04cb7d042871
commit 913e013e9e1a331b3cdc3d0a033e120d630a80aa
commit ce086a32ae21a01e48d202cf85b43815a0eeccfc
commit 3e853b9f89e4bcc8aa342fa350d83ff0df67d7e9
commit 2553bacaf953b48c59357f5a622282bc0c45adae
commit c4a1e57b3544bd3d0252cf4e1d73d9a317de0923
commit 3e226e4a21808e4582020f813b041504f316022f
commit 673515ba0249e47a0e69c56a16af24399c824d60
commit 6b931346ed0f7ec3238700d17742d092f164ddc0
commit 636f973c123fc64861cf41457a68302078b323e1
commit fcb0348912ab718a3613c13cba264aecc7462c74
commit cd414f4f59f64d7d2a249caaf387edbc5a874020
commit d1b3657fb5b66a40b4963f72834b193d18d0a98d
commit 7cdae9e9ee5e29104010225007ee7a2f32ccdea8
commit 7b9a9e35e45def496b0a5b3f206bb4efa712ea4a
commit b67e0f530fdf5671a94f079d48707e5ec5fbdbd7
commit d011db300ddeaefbcda6a7bb2a31a73d263bbca3
commit a1eccc574f977bd21a4ec8ac54bd73a2756bd281
commit d1c0cc8d0d7008856cf425c64d7203f95beed841
commit 5635adcb34b3f402dc013446d9e57eb534ab8c48
commit cc158d0e9b0866d3626a81c13542d3be8f1477a5
commit 2fb82d5a42bb0e69547a2d31340c50bbd3a3d276
commit d2ff2ef8c023ddc99e2d2e0c70ff307ebd7a6d89
commit e049497702acc5d16bc6493f68368963e0bef989
commit fe57235bc104f2389ae1a54ea2536c1b1d6a4611
commit d99c028941b37c412f1de35c59d96ae547be2d0f
commit 03e7ac67e743195633455d7ecb4f7327e3797986
commit c94aa5e0407e23b9d51bcfd073d83d0e504705c3
commit 91affdf3517e9255443dfadaf6978ffec16f859a
commit edc9f16763543e5f51f07164766fac8d6bc9e560
commit f8ad33797ab3dd3ea011c1d5f52ec684fe925271
commit 6ffdf8865dc52e33b9867fe745f681175b997209
commit 74b9a444baca40998d4b3c193b0a98b495fdb7de
commit de7d09ffd5e74e3e1257944b3dd03357390b745a
commit f8d221dd97cf054740017db9189029463c434a9f
commit 038a24835ab68f341eaa7a0e3bcc6ce0f9b22e17
commit 0993234a00451e0a5c3e47d8b0f2e01dac6cedbf
commit 01f05940a9a75e11a2be64993c44ad8dd06e6e26
commit 3b4723de0d9be3f2a1730c164987b6e0f38d7bb7
commit 49017304c099923289b0db676351307d95bbbdfb
commit 8866d62716c918e5d09d8297281ef93155434da0
commit 75458a842cb59db8695a074d7a740321ff0a1254
commit 67f3c2096909c457c64f96954efee36e48299991
commit dcaf5000b054935780db718ecff8cafe6c183df8
commit 22f1482aff4aee39e5f3354808bc099084c2b64b
commit 629fcf0b687e3244f4bc1ab0070074f836703b09
commit 28f7e8971846519720a83b85004ddfe33680be92
commit d6530c33a978c6d170125b3a2ca1d218b1863e52
commit 53e9d836ea7fa0bfe9950ffb92d50811a5e69f01
commit 6ab68650a10e89dc351cb12b42a89b8789126c13
commit c69d51395a3bd3905a3837691ed48c7c89ea3d95
commit 5640e06e60198d9abdf6c618c54d982d8ec9cc0a
commit f81c31d975b463c24506d817a48390621f057a57
commit a6dcf9a7ccfed57abd44c24cc505b559281d44b9
commit af8312a38f713d0d5445277a57a1c8e4157da5ff
commit fec70a8601a76272b08b7b8077b3c3e3c79bdb72
commit 474e2d491efe8ce516e743dbce6a6e75bac3b3db
commit 566b6577849fcca743aa63d43793062aba62166c
commit 84b31d484eb9759cb3d8fbbb7a0e191cc097ea28
commit 4648cf5fc8c78d71ebb22c9fca760062b7747ec4
commit 1aff0a5d71d23be6658f893c88c6a9791202bcb1
commit 9724ecdbb9ddd6da3260e4a442574b90fc75188a
commit 53c4e64c6a0fdadc972217343f4439a96542f56e
commit c8a76df60d5c4e38ed94fc46a05f7be2631a9839
commit faf0d83e103e38e8bf7cc4e56da1a2edb9dfdf74
commit bc37c98a3d44f705f30fa39a9b9f46a0837c856e
commit 68070b76c4aac9369d7f84d802111ef83a7ff943
commit b79fe9abd58bab7363583d30d67a5385ed779616
commit 74e6a79fe8433ea0003d5308c566e68b3c7280a5
commit b3fec11d0dbf43d0b3df11ca71687e25a5698ce4
commit 9d8fdb04fb93bfa2edcdc15a2d48270829e9e95c
commit 5d3f30e033ffdbe027add4f1366238cbde686d13
commit 4144334a41a577153913897922ead867ac9a27fa
commit 54c7b715b5efe405dfd5fdafcaf930214b9c1fa9
commit 932698c88dc414e36e0683fbf6cf551b928441ac
commit cd487b6d506329917bdd2a594b307aa469a53872
commit 98ef34186286c457b7fe6a73ece9b279438d645d
commit 98ce7d32e2154a6676d4dc7e6877af68cebf8832
commit 5d04d13954479292dd45e38a46dfa31abb8dc2e0
commit d142d4113fd5c3f7afdb48dff4703ae7edddf53d
commit 2792f98cdb1c8fa43bf4ee5ae00349b823a823b7
commit 825b3772a2047bd32ed3b3914234da0de19ef2e0
commit 8bf6e20253b2d2b614f2c0b491f840e956fa6b05
commit 6069b66cd9622c4b29817d4e19737e6f023b909a
commit e2945e6c5111726536c6046eaa1b840636e066a8
commit d2a9692ad4295e227e3352fdbf14b8491b01e1c9
commit 313e9f63b74419ca14c2c09f581a79c7037ee0e2
commit 7fc0d011c378c6b2abc65cb536e0df0ee055ed39
commit 4713ace3246644519bf93cc8ea6e44efe57fc3ec
commit f7f0085eec8d3c0c353d2e7bfa7fb54b3b925d7a
commit 4230cea89cafb11b2c2e4dcac8b505e7a766b386
commit 328839ff93709a517e89ba1de1132c5d138e5dcb
commit 8c042949af1e935123140ab6e6a3dff945194a11
commit fb4651f9e00dd4e07dce4c48d458abb50d276e40
commit eeefe7c4820b6baa0462a8b723ea0a3b5846ccae
commit deaccddaf4921faa5dfc71e8936dd8daa98ba33d
commit 562e08223a85f315122cd65e8f99b8c0a42b8771
commit 5f3401eeb064fab5ce50728cce46532cce7a85c5
commit 057e335c71361063e173381cecf2e8487ec8b552
commit 7108a1c1271dc4d26789002c1a6858b52f237cf5
commit c416a9e4e31eaec5a35417b056a22c73652db544
commit 05cff51055c1050bf3a730748db15eb84f34b31d
commit c79503dc2ec2378d08cccb6b53da408d6bd6cf9e
commit 3726b6e7c0f1842a2ffdfd5921c95f69c0524808
commit 22e3d9343b8292dfd8c72a5a539dc1ad4829b87a
commit 7f544c5488cf5bc94b379de750e08fa3e146b6ba
commit da9d669eab152dbd6e9410606a7c8c8a212a7959
commit fdc94d3a8c887e4e06a7ff8dcb51d55cd70e16cf
commit 370808876b5cab365f8fc6dbaf8cae13a2bc6efa
commit 65ba96e91b689c23d6fa99c11cfd65965dcddc47
commit dabc114e4bac903c365bfe6d7b6e8ed7fa38f8ad
commit 4489f0fd9e01efac81d98884d5cf3fa708b9daac
commit 0bad3200dffa26943ce2b561e5446cc3ac018bc9
commit 7ee938ac006096fe9c3f1075f56b9263587c150f
commit 83842357c48ba9270bdf973fd21c8c1a2a4af72b
commit 1de178421f1a95de408610c89655ec1d4edb9d29
commit 81e291d6f4296759df03666ca008453cd0e86821
commit abe3c66f3491ff14a5d616921441452f2c9693ff
commit c14bff92abfe464974c795ad53625ffbb6d6ef31
commit b24343eaceedb902c1625854f85a193b0549d85f
commit b0fbef65e227ad4ea81bf2ad3d17d073bd0c68de
commit c7d18b40a80e5c0a31e1dbea15c9591c4150e0e4
commit b288d740f885648680a8f1bcfbb1039d16be3f13
commit 72f6107d2f2294f76d9fb086acd0b01690ea5021
commit 00000922a33d4adb06a947621f553cae12363083
commit 165d5133731a2e045abdd6d9d3c9221fdc2a556e
commit 862643c7589dc97111cd59c471dca0b354f01eb7
commit ae1da08fb306caa8cc134b81ea68c537cfe7a451
commit c4252a11131c7f27a158294241466e2a4e7ff94e
commit 14c7b2451adce947b034ce1891c2db9220a3e8ce
commit c640f6c5570a6af904db37979d344ace8312c675
commit 6e889b1ce7f1be2bfcfe39a4bcc82b34380031c4
commit c931ef0041fe0a7b62b7d15774a831f3bc85713a
commit 3f3fdc978b8dbac444f7187915a3c874b674bee1
commit 0e9b1e5be8656c0705237341401c78c26b6cdf43
commit 5747af7c7303a1ed438fcf51680b767dca08c5e2
commit 0ec2a5b291af32dcd2b52dc8c1d53c3037238939
commit af3004c9ac81a532a8106d1d3c06e09eb95f0dd6
commit 1aaba11da9aa7d7d6b52a74d45b31cac118295a1
commit 91f4228960adb6583a33af310912163469f49da7
commit 705c870179ae57815d15a9e783442f22030d3a7d
commit 8cb1f95cca68421b08333175719fdd3615372ca8
commit 6e8acb6686d805ac5d127fb691e28e742248c523
commit 84f4ebe8c1abbe375babbea46eab746a0060e80c
commit b5202a93cd3768b5f757dbc1c7d702772a34c9a3
commit 3cf15dc2f81f765078ca867eaf42400f26b2052c
commit 90031bc33f7525f0cc7a9ef0b1df62a1a4463382
commit abae262640ef9c7f24bad65acade25b44c7ba0eb
commit 5327469ec4c07977e1d824badadd2628fcd04e85
commit 5cc0de456749712c6840d5d9e5b3de1071932aa5
commit 09b9851776b57f7a8a132db55942fc3ee0fdd4f3
commit e1435b67afaef736f5001ba937ab5adb5bf4afa2
commit ee0285e13455fdbce5de315bdbe91b5f198a2a06
commit 556d5a2d4268e3ce860e85e032859ada1c64e1b0
commit b8bbbea1ae6441aaa2439f4fb5fb757d513833e1
commit 8261dd979e801a29f96e4996112eaaa65c04ea24
commit a89c957a955e00d9eac726551cb9fb386be1057a
commit d19ccb4ca5436d7500f9fb47d71ea0bfecea52ce
commit 8f1aaccb04b7cf63135f4e2748226dfa2fb01e3f
commit b704eeae319608b48925869121c97c7bc1ea55fd
commit d5701d8f5210f8c70ffd1b51283b2373573e7b5a
commit d1837136d184dda0585a687c614a9117cc87ad27
commit be5c6b177229c5cb40f3fef785250afbfd669175
commit 04751a061ea055c4fa264f20f4558073c3d8fb2e
commit 3a39841322be5502f5355a558617f0a56b2b3ad2
commit b931c166c47207c8c7bc7eda6c8881dfe0241389
commit 2b438065c3e538844a3b2b56f567303020bf97de
commit 23a92abbf3ad44058b5d3cf57937cfb9de972c05
commit f328e96b764a603b3b70f0e9ef6ee052a78ed2ad
commit 6780b94d8ed37a0f453a5bc90821ea669ac3c0d2
commit 3fce4c948e2b73ba6f6f2aa7e1c2f101b997e192
commit e85f436824f2e2e067c0a151e954cb403b483234
commit 8891698273b125e57d0d2b6a91451bac06e968be
commit 2b9efaed4e4045a40944265f99f52b232df3347f
commit ed58ee126c4da81af79ab40b7c6508a7100c7eac
commit 5e3ea76492265fdbadd7a58963ff2a3a2e2e8be4
commit 67fcd5d2f3ec364cb7af2c307ed1999bedebb606
commit 749b30efffe58dc59c39c32673ac03010f822581
commit 28a4f5609c9aad29f921850d3fe58bec5074c86c
commit 60d7bbb5b4b875d613a43e3be797ddd4ff92cb7b
commit 76e1ff37b6872c9f2d11660258fc8c88b2f97b06
commit 6d179f84f274a87da51f24ac3e9427221bbaed51
commit 958e47977bd12e06752a559541867028b120de76
commit 091496e6cba32475ffa53a070d11d9a5a2f1f396
commit e752ab11dcb48353727ea26eefd740155e028865
commit e3890d84482a9479bf42ecb3ddc9e6030624dc84
commit 44df42e66139b5fac8db49ee354be279210f9816
commit 02abecdeebfcd3848b26b70778dd7f6eb0db65e1
commit 70b5ffb393f3f1fbb00ac52c5288d233ae6e991e
commit 80ac788a8d2fc8904cce97b7873b6d8fd513a46d
commit 014f0515a9e04edf4c35fbd89168aa33663b379a
commit cf6c422bf55fa8ac2531d56a6d17408300a59e8b
commit 0a93eeb5aef26f68ef247576662282a5d42c63d5
commit 562334d22a05a4793a620a9ef02516f3b8da9ec5
commit 1a324a40b452ae0a57676369c0a0150674728853
commit f161eb01f50ab31f2084975b43bce54b7b671e17
commit 80a892a4c2428b65366721599fc5fe50eaed35fd
commit 3962ca4e080a525fc9eae87aa6b2286f1fae351d
commit 92736f1b452bbb8a66bdb5b1d263ad00e04dd3b8
commit 41b4c7fe72b6105a4b49395eea9aa40cef94288d
commit c6265f5c2f502e442c4f339f121bedbc990c12e7
commit d240daa2c40d384aa01d68163ce5c12625b92d10
commit d36d68fd1925d33066d52468b7c7c6aca6521248
commit aef98f2e1bc411a27f25db81574309b7415602ca
commit d24eae4dd7ffb3e6de6080fad1297db8ab4b0260
commit af1f2985038fb2569786f3de64d7dd69f5580e03
commit 3234fac0f97671d55c466e8093e3bdf781dae329
commit f466b111a0c68dd3925deea37271f7aace2367d9
commit 5957a967599360477529ebd593e03f973dcb5fb2
commit 4db231d7dd80163fd251635f81280f1c93a393ab
commit ceb4a5619c734ea679bf5a2446e6869056e353d4
commit 6091693a4bd1ba52e406cff44a4a9959e755c986
commit 7d67285e84f62fb5fd00405432ecf1b64f921091
commit 3cd658deb03868a2483484224baf2442bf4d0062
commit bf35dbc135854c809b5cb6bcce320838c6d1370e
commit f825fead3570d7b7a13dd13b8d63209dc1acfe5e
commit 80bd2de1db0f25c82c110433e92c0703e05e5ae9
commit f5211c5dedee48eac290940b1f1a67cbd5f8bf6f
commit 4caee043bdbe375456f2db767c3e35dad0b3109b
commit 3e4bc662eca6a18afb45d98ee5f6dafb5ea5787f
commit 25a75f56be5c180e4c8e2017fc52f7e9a7a861aa
commit 0b9ff428de417423ca87f77dd6e836be967831a5
commit a37558e63b636109b8a9a181b316bb3416be0708
commit 63d99a342a7c36a113d2162cb2cd267a333548ed
commit bc517825c5d6c388cc7c668615a0b8f1b26ce513
commit b8c6b225d9d82b5245479960f62f0e95d611cc18
commit c54011512965ab221573b4d31ce1f5a279e15c15
commit 7afe3521bd405d878bc5f9b98d5db4682bcdf3a5
commit 14af917998a6126494423f8820a93982025c6963
commit 16a7004a2d7a2f8953daa5196d68766cfa120fcb
commit 4082b9f5ead4966797dddcfef0905d59e5a83873
commit 1a593aa09000c513a912f250ddbe1dd191e871c4
commit cfa075982768840c468c874219dbec558722cb7f
commit 74fa4c81aadf418341f0d073c864ea7dca730a2e
commit 97cbcae3ff20234f6a59240df0b5d5fa238b3f9e
commit 52b29307a98789853d87ed0a68031ec18063cba4
commit 3ad5dcfe00a22404dfa2168f37fecd500ab26a6d
commit fe120b9f5ce873516a2604e4ff0c19084be94e8c
commit ec64350d01cd45c91916e701964ed8cba383aa35
commit 28606c4e5877cdb27ea443b3f36e3f0bf9e7a5ac
commit 28e5c9d601fb8c2f387516b095a9cf6ddf7c00d5
commit c964b86e322f91f409aead79b1b497b74ae0f795
commit ac84304d68c4b310e61b275317c0ddee1b746cb8
commit e89d890c1b4a29fd1871f9ce21e9a94720a10e98
commit 426714f89f7081ce8bf83546219eed6ea1511891
commit b5006f873b99a26f8bd36d691c09083495bc0a03
commit a8b537605e22bfe277e666727fa0e9e01f2c729b
commit a36f72547e0eb623912957aeb68465e3c9f7effe
commit 63bb1064a71d9372a643dbf1d00b736f203c867f
commit ea2b852b656afaf6d45597abbcac8425fa6ab02d
commit 75b204ee6cac4595cc663daf59b40162bbf411fb
commit 27dd79c00aeab36cd7542c7a4481a32549038659
commit 1c1f61057c10107d15093522c097d9bf54703ae3
commit 2fedafc7ef071979b07fe9e9ccb7af210b65da0e
commit ae8df8c9f630403bb74d3c6e9768fe3991d547f6
commit 2a867a85ee0251cf55abca75e745c5f66f76c125
commit 3043d13fefb9114a7698485552f75ad8fc3e7c2c
commit 5ee33d905f89c18d4b33da6e5eefdae6060502df
commit 5519fea915effccf57fa1369669f4a6bc6c44a07
commit ed8f4e1002781c47813e4e2b37ad15b927fd8b67
commit db8496d0b50519540e1ee50f7e209b3a536ed671
commit a5b44c4adb1699661d22e5152fb26885f30a2e4c
commit 7423740b2515a4c8a70ccdc068c0ac4a2610a23d
commit 6a4fef21816be4bc818905e07d47e0c20738e164
commit 24dc4f4c2a5cc97e340f440bb01f5f30fb4704f8
commit 8fbc9af55de0b274745e70118e20e0964e98bb05
commit 61b5d0072a88cfd8c5fda31a7c19d105187c8841
commit a51c7663f144606a5f08e772fa3e1e4f2277a614
commit b9c93f4ec737bbc6b6601284df3a14814feb53fe
commit a972cd3f0eb50bde3823e8d1df8f6c1b0c673ecc
commit 67165722c27cc46de112a4e10b450170c8980a6f
commit f2c7959dda614d9b7c6a41510492de39d31705ec
commit 06f66261a1567d66b9d35c87393b6edfbea4c8f8
commit b25f551ae197293e1efdf991f47a70e8da616845
commit 4e936b65211a578ad1291967fb2344abd9488cc6
commit a8da6c18b481efbe78618dbba18c2db3241f4fea
commit c173a91b760844074abcd636eda47d3b2c107a64
commit 2983b869881b169288909b4ac93f407fe804a75a
commit a8b4114d112530440c00fd5bc01e4497480fa4e8
commit 40a55b842bbcd3d79b7a8ff7c426b22b6700768b
commit 7c1da0683e2adb969005ea195cb6bed22f844a69
commit 2a4d292f056b35f54cd7788e124937fe598369c4
commit 10d29bdceef79602af4136c14a6ec391ec3a2e7f
commit badb30270960df505cf245bad8844c227731fb0b
commit 459b26061a67e63e5aa24c6f2ad0546943357e43
commit 4f73dc7a079e15379bea0a70945ba1a7e5c16657
commit f210d8d28aa39fc670e7d80040ab1561abd77883
commit 33898377feb8ecf45fa29965bd1618e0997f76aa
commit 18fd7f8aaedfd40e19ed8228db856326afbd9aa4
commit 883631771038d1b0c10c0929e31bbd5ffb5e682c
commit c9a9f18d3ad8acb9f9d6b52b5e1922a70b48dc35
commit 4d6d94ba8823a2f4e48c56ed33cb77061c1f425d
commit 845e730eaf36d2199e25860259611ffda8e07f6c
commit 6a17b4d1b52f10a44c45eea2a9222088e7c9e573
commit 411de2b5ac61a29e1e79db44539f69bb9b35a34d
commit 9469d456c6a28494dd9d5cc16e17cf2d4c15c571
commit 14aed8ea48e2f5c710ab678e1ba32b9f398d40b2
commit 779cb5ba64ec7df80675a956c9022929514f517a
commit ef5cb493a9acd7d97870d6e542020980ae3f3483
commit bb8494423e2e4dbac9ece7eebba421011bafe389
commit 5a08585d38d66dd64b8ae22229bdfae3fdc1ef3e
commit 2810ac6c753d17ee2572ffb57fe2382a786a080a
commit 3735040978a43c25a19aa8015ab1a50dffe48f79
commit 9919d119fbbc913c2459b093eb81fe8197906424
commit 5f284e9c5aab5b12eb48a2cecc7a573c3b4e1cb4
commit 772a5803922a097eaf94cf865c6f4a81416aedb8
commit dbc9a5fb168deb140722c12d8332b25754def017
commit 3c67ce061b2136e0578734bae82fdf85c2c76217
commit c61d04c9eb4354980839cf938488ca703eba0f83
commit 1cc064dce4ed0ff111b6d6cb06b3cccf1cba29f5
commit 94d82e95219a3c581435480ab395eb04f569635f
commit 86e11e30120387cb5c24bdb3a169a2135973a0a8
commit 9578a10d4a2b4bcbbebefb4156c16c82ee725b3a
commit 7ed34927254ae9eac0f6b0ad7e7c2bceb96fcdfc
commit c5de248484afeb6de259239a23645790038d9df3
commit 2e4026a1a24d53651c80aca7e683cc86c96ed9c4
commit 419e505dab203b85facc782ec34d2d98601644ff
commit 5dff5d092ba6c5485aac1467dad938c74ba6ed57
commit aec11c8d7cb31c67deeba4c9fe015d09735c6813
commit 691fdba39e7fbbaf2755c31ad3800810185cac8c
commit b43f9afb81262d6c150152e2831a000b3c1b5d11
commit 1a2dbf0303e8793444a57a2eec0c6b29523657d9
commit ff168b37a96736c892007730e703e74d5a23ca48
commit fd6435ea32d9243d116dbf50e7f1a8b33e01262b
commit bd2eefd018e5a8066b7bc66d8e200fbe3095ea5e
commit 14302ab0d6550ef0ea48f213b0ab13c9249de185
commit f5a5b08139e8fdab024c1e52854e24fe1e8b428b
commit 4cf3ae9d8e9a5f77e8a1f69f17c92dc59ba15154
commit a76766664a9f91dfde906fecd1409ba596a30e33
commit 0e909e4fa8895bcef1b1ef2e39b9f1a158933ffe
commit 981f8866754dc5aec6864b877acb248dc33a7bc8
commit e7447128ca4a250374d6721ee98e3e3cf99551a6
commit 4d562c70c4dc08294d6063dfa8d027d81e90e2a2
commit b2cfec52feb3bb737c4b65018ef4bfe9789e4be8
commit 1fb4da5f7858d78570a9f726e98f96797447b32e
commit 42b4c479025d92b2a4869bd233f20159ae9ce692
commit de4149730d9d72f50d4e6dfedad0d11b1df05b7e
commit fdd9b7dcf1ad7115b2d997e047e8e978c474736b
commit cecdd52a3dd312564f81a39df08378b7b39a2654
commit 99e067637862c902f741744eaafe1472091937a5
commit cdf7911f7dbcb37228409a63bf75630776c45a15
commit 625af47255d9b30e22d6c98b7f5e97adc903b98e
commit b7d70b8b06edf25c4b7526e20f5b3d11175cab81
commit 7fa5047a436ba27696e344d974811d9ea07ba249
commit 786119ff3280dcffdf11c605534a20b4070012cf
commit d7d5a21dd6b4706c04fbba5d25db8da5f25aab68
commit f3823da7e4ba7d4781375c2bb786a8a78efc6591
commit b2c077d001b612b1f34f7e528b2dc6072bd6794e
commit d39e48ca80c0960b039cb38633957f0040f63e1a
commit 1ad0510cf730d8556fa7ff067b72aa960dde454b
commit b5a24e13c8c8b2c98d114b16da40712b80d5cfc1
commit 3ccefdea226ba3f3b69f9e868d2b1c9995b56615
commit ea1deabc6f11575eb3375b454457eaa3c9837abc
commit 49f6f6483b652108bcb73accd0204a464b922395
commit 929ae7c2e3adbbb2c2bddcd16854a6b11b56e95a
commit 82bbec189ab34873688484cd14189a5392946fbb
commit 8ba264f418f734aade3a77086bb1d51d0e2723ce
commit 287bfaf6fee974caba7dc7b874b29c27b1a2dde9
commit 065695b3da984aa1ed5d619f3c307be1f564bec2
commit f84a27f9eea51df5c704ca16a00c6df85a31f805
commit 89e790ec1a1ed930b58b0aebe50792acad90723d
commit 04500bfd7053482a1a4a81f86b57faff5c788199
commit 9df56e5632c5055ba2bbb6c8c593a4da15181be2
commit e27a85c1757655e2e7bd09164b87bf75627e5604
commit 5fba65efa7cfb8cef227a2c555deb10327a5e27b
commit 9079363eda1ea0d9fa2cc5635e65821d8ed4f994
commit 8d8d062be6b96b1ba95a3f1a9ecaf218c9458497
commit 19d06582c47572be9635cf126195135df0720118
commit 44222656ecff73974c637b6b9c9bb5415978ed08
commit cdb015a61190060094152ff8ff6c6f34b616c13c
commit f389e7ac8d8a9a17bf59507d02ffb756c19b4af5
commit 8d18373a0ef91845781755492510e00b5a912a0a
commit 1164c92b2d13648fb156fe547dd1273111f05e3d
commit bd80b0dd6a431aa23b70ff91b6905c1b1eed2f9c
commit 7732e289c557809a4a92a218abe04a5f658ea5c2
commit 1119f009005ea89dafac298aeb3231cf2cf2a9ef
commit f196198cafb8f0f2bedf1d8abc755f791fc03648
commit 618e51cd526cbbb2ea9ad01ef1f67719b775f792
commit 213eca2b0c042b024bf9697a278619f887bab4e5
commit 62f03dad76441ee3a58c26a0bbe703028e846db0
commit 9af357bc3e05400eb632f3975986e1eac196f159
commit 059478929a91acfeaa5cd2c15b6815e1a2c63f17
commit 1bb745d7596d2b368fd9afb90473f3581495e39d
commit 8782007b5f5795f118c5167f46d8c8142abcc92f
commit 120ceaf78e28f20ec7244c021d24d1e409572be1
commit f04b8af5e9fc42a8e3b26ebf3b8ccf681a064985
commit 276f7b4bd52425cd0ae38fd7bf870d94abac6b82
commit c4aab3499be2abd8671e5f3f70a9d38acd8e4ce4
commit 11b6005865e47c4cba862678936628175acfa16e
commit b4bbe4761ee2d4127eb751737dcbf47a310a9f86
commit 041f5c416217e375c4d27a7ea905548e70d1a3b8
commit 62bb839d48ae87d6aa07259ff6bc8d049538d1f2
commit 3a745f6ac13216f85c3804654f4c703995c17180
commit e317a69fe891382a8be712d4aa03bf01b9af229f
commit 9b926bcf26369ffbe347b9e76977f8425dd10f8b
commit 52b36510a175607b653e6ab0fffaca64ab8903e2
commit 39def24f8c0f86a2d2edc52c694a1cbb41aee69e
commit 5d55e1d02a49a7f27893a5ca5a3c3ef28efcfc42
commit f3409f76a6588137946c96313ed500b68bbc6021
commit 1b0f0f7b8be58b378657c1dc6a0806b5e7bc4783
commit 40a9634b4f09a63f69a373af5d4ca7e69e6a78ad
commit b11e193093fb9dc9bb5a2468b81ba3a76f7871b3
commit ab1a157ea7e13a9cf93fa913f59a6bc2ffa6fa5a
commit 6d4496bcfe1c73d5c97b133c31c8f779b4acbac9
commit 8e7a49e09e5c19a3a9073894a9d41a7ea0a0981d
commit 4d77b7e53410dd4b1fe3e1313c3982e682cadef1
commit 018f7300d4f73522ae02868234b13c4b7c433fd9
commit 69bacf1545206ddf5e1cdcfe868b78f33bb4ea5c
commit e86c30e951b50301fbc80e0ba7f6ffdc16e4fe85
commit d2cdc01451973235e2b83ea85493817705a48263
commit f7f28f268b861c29dd18086bb636abedf0ff59ff
commit 9c224e058dd9ae9b03602d6c86d44f0d11e21ba3
commit d29fb7baab09b6a1dc484c9c67933253883e770a
commit ac18b610fd95762125cd6a7194cc7e2e3b94e3ed
commit 1991481828a84dcc5168f1e9b818311cbde86876
commit bf224e00a9f54e2bf14b4d720a09c3d2f4aa4aa8
commit f5442b35e69e42015ef3082008c0d85cdcc0ca05
commit 7b1b3f5818c33da2ab78fe62d34ee7bacc93cef0
commit 79978cc76f050d6cf24880645519f54aa6843da3
commit 8ef23f9268fc4364fc79bd017c2ed6a6495133ec
commit e8e5cc645b2d6cfcff58d02743543eeb37e2795e
commit 4ed793083afc2bbf22a7fb5993efccf3b5bcde25
commit 37403ced9f2873fab7f39ab4ac963bbb33fb0bc0
commit a78d43738ead68a40acf7da8a873f47a9f6e6eb3
commit 53c8ed46e81636c39528aeb7c3db353a906ecee3
commit cf31994d0b7c2489d0b83a53b510fdc1e4c731a9
commit 0cdf91bf67b782bf3548cb3cce8ab923a13ca6fe
commit a1c9a1e27022d13c70a14c4faeab6ce293ad043b
commit d3981ee76dda3370d2f51ac0c528dd4dfb45cb97
commit b0d58d1147b8b08241f4a0de018241dad804b1db
commit a2f00188137940432e898952fa61e45adaaa68ff
commit 828d9a872cdfffa7c650b9cead166d33187cd942
commit 3335a13535312c9fad4d8d1307a621e6617d6ed8
commit cebbfdd5f099a16d57d9221cec76882867839ad3
commit 16b34622f7b18d017c59bd648415cfb64a842d96
commit 1d44ff3d7a71d290d351bffab6160a26a966db7e
commit e5a6702e513627f6924c43ec9dddc526ef6dd145
commit fac7c51d62f3536a66e47f3da076803016cc355f
commit d7001e7285f933584788edefb7350dd5a09a7463
commit 0b872f653915dcefebba845949f968c01d91bde5
commit feae1bd80ec69a3a0011ba1fb88994785f705e3e
commit a389789c0aaf8428cd44cac4f92c8786505f5f1e
commit 5011f2915b70703a0347f97b8f2ca0b56ab49978
commit ac754358c68214f9945bdf9cc565fa18ce1b0185
commit dd4d6791eb0164ba59d3e105135188c355d80fa2
commit 9aeabe1988551f797f6e0cba0e7c2d4549cc3a4b
commit 16e7a0db6ec9426fea36313b95c36624d983258b
commit d4d17377e01f017fd5a22f68f13e7ab342f97551
commit cd8fe5b6dbb3a487bea5f1601437c013a3d56163
commit 1138398d71e8e583669fcec96784471332e488d4
commit a33c8f71d3d85ff1c0284270f710b071d480d547
commit 359d36e67da9de877c13c4b4ea6209a5e07264b3
commit 89b154091ab44098668614b52553ae3917eb8215
commit 39feb7b16b107625a0071e5bb8ea19ee89be2a9f
commit 3eafcddf766b6bb8e6308ec2d587d4ef7a4381e4
commit 711762415ddacf54b1c973b208073438de5879b4
commit c5879999641f7860495cb9655de6775c96999103
commit 34a658b7e7128b35daf71cc003fbb659f914f7a7
commit 87107261bb73d7a8945f3cd37a6abc7befc327bf
commit ab639f326e48385eeaf65fd129d3ff6d006cbeef
commit d1fc4e391fbd321dff166208e58e30d3196626ba
commit 712f422ed70c6778018152896d6b4e5ff70fb2b4
commit bd0fdd31c1023b9d94a470ed5bc301c3f9d80519
commit 3b7d5663702373358d58987a3684f6c59443d9d4
commit e0b1ef58d98ae0feba98190c9faf192aabceb811
commit 976a368b7198bf666ad3d273e10ed82b3713af3b
commit 430ce0c7d3a3b2cdfdafb527d2f89be4267ac45c
commit bc5f983a3d8d8e5a5eddfaf11275bbcef04017f5
commit 16cf693e31bdb423f35ab24081575ec9699303fc
commit 7e696546353f659f60fd10616e04a2aa59ab2ac0
commit c55b73f391a726a45cc014464ba7ebea5f1d7386
commit 825535f44fef606e5b4484ebb8cb3827db59037e
commit 8979918af711b057620c7c5f9d29a0043f927753
commit ebcabb8b15708023b71b7044fdf928454613d118
commit 9796a5b2725d1b3ddbbe7b1f3dec56af8cc6af22
commit 3acac2d06a7e0f0b182b86b25bb8a2e9b3300406
commit b108bdd0e22a402bd3e4a6391acbb6aefad31a9e
commit 450c27fc9e9cf74ff9b96dd813817133e0f50cf1
commit 0f752b2178c988117927154fe3b1d2e619c80c57
commit f435b7ef3b360d689df2ffa8326352cd07940d92
commit 207395da5a97035f06360638f0c2fcd92963ce95
commit 41068c8b28e16f1c2c26c854271520e1f3afaa22
commit 98a07b82d8ac43f1cdb4fee8c340b020372c9392
commit 63c154a0445aa58a1ecb933e6117327b67b6dfa0
commit 75a252be27300c84c83c96399fa36fb5f6364124
commit 2792aed16ca7e594916893698f526ff31eeed237
commit e6a1e701edd0ef8fd51fd50e11bf29bbb2f37313
commit 5c908cd57eeb857f107732773a653c89ad08e9ce
commit 445a1b818e20fbfff5905bb9070da703101a5c00
commit b29b32a2ae5a6753cdbe13cf2e64c752743f1923
commit 0b81afa5b6d245809d3cc0613adfe6098695253d
commit 71d93eac585a5f94433d7d4a7340a0d7081d925c
commit 98a1dacc246dad474c9f7ddf4f0c7e92d49a15c3
commit 6adba2903fa16c0c55b1f1e3f6506c407a26ff88
commit 0f923778f47bfc8c47fabb6a93721ae71a6e6702
commit 81d4baaf4b876589a72a500d45f2c67bbe82bcc2
commit 5d9543162fd6686e83f86a448fe2ba2e7a5ebbb5
commit 2447c731fe55a36accdd7aff96670d69c06c2372
commit a915450e0e44e9ed2a87fc5b3208d5ce01554a8a
commit 4ed22f1e52426635873416007d2c12e09615165f
commit 605f7c73133341d4b762cbd9a22174cc22d4c38b
commit 26bfc3f36f2104c174dfc72415547d5c28ef3f1c
commit 689e61a4fd6872537913b998101f364fe79a4f70
commit 7f6947fd36f2c562040ad5a2d3d1783440a4aeb6
commit aaee4bbe8a1aa6833d6c42c7015ae63c489fdeeb
commit c1ebead36099deb85384f6fb262fe619a04cee73
commit 6f1ccbf07453eb1ee6bb24d6b531b88dd44ad229
commit 764b1c8df40daf618b293b367f9be1f4fcd1b6fb
commit ce7498acaa88ac3db5385dad2317c03006c49837
commit 8cc0b604f2345c304b7ddc828b880f4f3f21816a
commit e09220f42b5c28dae51a3cf2810afcb4fad9909d
commit 899ff790d1a94dda9bd09a4a6bde01fb7ff0bec8
commit aa7b93eb94ad6d883016bffda670e028fe168051
commit ca161b259cc84fe1f4a2ce4c73c3832cf6f713f1
commit 4224011374d1b4228a59b73149320c61eeb700b3
commit 4b51210f98c2b89ce37aede5b8dc5105be0572c6
commit a80c882183e36b483734681c830a332add912186
commit 77d08a2de6a43521f5a02848f11185b6f46af21c
commit 69e6dd149212cdd681201352a79e6634665004e8
commit d670c78ea7564f9baf915c8e1dc5898a9e6c360b
commit 1d1e434dbe58ef31abc60135957e0735b62fdcad
commit 673aa1ed1c9b6710bf24e3f0957d85e2f46c77db
commit 1935f0deb6116dd785ea64d8035eab0ff441255b
commit 36e239b5d509c1b564669e7ca3d016c444bbf808
commit ee4cce0a8f03a3332ccf48ef8b420a65d02d1fcf
commit 5d844091f2370f01752c3129b147861b9dcd3d98
commit 23baf831a32c04f9a968812511540b1b3e648bf5
commit 4a06f6f3d395d15eb285606f28b74ce5dbc77e52
commit f2c7ca890182d24ac817fa321489346000271c5c
commit c501ca23a6a306a7c11631e02a26c8e0a768d64b
commit 379989e7cbdc7aa7496a00ee286ec146c7599cf0
commit 322458c2bb1a0398c5775333e1e71e1ece8a461f
commit e44f18c6ff8beef7b2b10592287f0a9766376d9b
commit 4dee3c4b32a65d6b140ed506a7a8859d5cab6611
commit 4a1b5d183273ef402edb7c7ff58052ae97259a2d
commit f86286569e92a260fbf8a1975f9421b4a66581d8
commit 52b113e968be66b57f792b2e2a9b8b77f382bd5f
commit efd8127454054d6d52040c17f7fa1656ac3befdc
commit b358793c3bf231c455c55e0173256a86483997a8
commit 4d877b1a6e855d1c8685fa0e27ad7a521b31b6ca
commit f1af066bcfd38daa9eee7195ef772dadaaa18520
commit ca0376ba196ff7ca5fb55e333a94ea23530ee888
commit e3adc46da349d4a4cda1c58d8186c5bce0b011fd
commit a25c2f7a467265fa24d63fb6dd46fa7ba4e3b108
commit 5790d407daa30356669758180b68144a9518da0a
commit b8d85bb50511c901d48fc34ea8f0bb958042fbf0
commit 78f0929884d4811c225fd2c57ecc602c84c07392
commit ac9aa21bdf40828583f73ae755dcee6bb1e9b3cb
commit b8aa52913b84f8b59816b95c28d03424a100df7f
commit 490438469d493e8f764bea14d47eaf4c2ae7cc80
commit 35d86fb626a2554de5d5916b6e2d47d06b483d37
commit a37a512db3fa1b65fe9087003e5b2072cefb3667
commit fd35174e13f98f9232c4aa66689816731d34ca28
commit 67abe9c6a8077819aae490dcd3b9629c2e87bfc2
commit 980d5baeb25cd65b7a791d7499daa07b34346def
commit 97998b893c3000b27a780a4982e16cfc8f4ea555
commit 63a4d258ae1b975cd0dd1f0623f50c119953abda
commit 583da1b82ac51f0631b6ab699153f16b241dd40e
commit 9eb28ac1a25a2117ea5544ffcce59fcc1f128e1f
commit abaeafb1b1fbeeb9e18638c6edbe9db31750c163
commit 0efa70356882ec2a843122f02892391ae61fc4d3
commit 6f6869dcf415f7c222057a3f07c23667e1758585
commit 385c3e4c29e1d4ce8f68687a8c84621e4c0e0416
commit 0289e0ed1b9ae20e7b682fc7ca30d2d324a47618
commit d170e938f01fc8c5c41f8a12f0c12491580829ef
commit a2a0bdf1989c38ca2fc356edd23a114172ee09a2
commit 554836cc24411e4d3645db5392655f8d28d1d47a
commit 7727e7b60f82e8265a1061b81379f5a7bce0dba6
commit 9dce8c2a5f1bf5a304aae39342816f099247d7da
commit d116db180decec1b21bba31d2ff495ac4d8e1b83
commit e38dddcaed60c0692b77a7af355d34a13183cee1
commit 52f1783ff4146344342422c1cd94fcb4ce39b6fe
commit 11f25c844e29f85abb0b3ffdb360a2f82a2c4ed0
commit 207bbfb63dc0eb491f71e96baa5db9c25626a247
commit 89317d4255122f05aaa0ac16d189a9ab3022653c
commit af152c2120587b02e03dfe370b52ba75c40f8952
commit e86bd8b21d57670e38c23ed435a053e7e4cc9e21
commit edd48e6d8f341dcaf1c0a45f4822172d33e75129
commit 5e08e9c742a00384e5abe74bd40cf4dc15cb3a2e
commit fc926faefcb7fade1abc05043db540f5c0fef79e
commit 5591a051b86be170a84943698ab140342602ff7b
commit 52a3a40ee4f89c89026837838f7df386d64c2892
commit 86f3a961f367f5796ed1915cc8253e21c2a329fa
commit 418431bcc9ae6509263f4f3bf4b6a80f39da0772
commit ff38d974bc2842797d1d75f5060afd1cea4a76a9
commit 75bf1df75d5e9a22898c5b6c3410ef8ec3a0de70
commit 94aec514c872250887e435faee333c9da741cd72
commit fdf8ea814ae48d7f5670bc7c3bf34101fb58f7c8
commit aee89b7d0929bfc6530a1468d34e0befc1991389
commit febc9c65b37f6f5cc03ed0b6d613fb045c39b376
commit caa4dffa9abd80f3360432cf89236f018be355ca
commit 58bc2a9cbfdd4abdbfaafd835a0cd78bdad11423
commit 3e3320a7d96c1a5c66b60fbabb38af1f4c4fae1a
commit 00fa40353bf3894adb495f8cce10a8bce43cd375
commit 27488686cb1835f1c69d3efb0eedeb411f675d73
commit 81900e3a37750d8c6ad705045310e002f6dd0356
commit d8dab40a8b37fe8207e1edf68205c709b477e0a4
commit 6246059a19d4cd32ef1af42a6ab016b779cd68c4
commit e69c373c3f0c1888b4b758e37d05e2e7b76585f2
commit 318e431b306e966d2ee99e900a11bdc9a701ee83
commit dd299441654fd8209056c7985ddf2373ebaba6ed
commit fd784a418ed832fbadfa846cef61741fdab0377a
commit 6fe2ecdba34445a17049cda73a399d9685189efc
commit f03eb1d26c2739b75580f58bbab4ab2d5d3eba46
commit 0512e9ffebca0f9a91f6e54b0da90976dce2b025
commit ff742e0ca3db876eb152a5d6bdcf7654ef6f9398
commit 73c4b0f83693604ae5964c68fb23159b823b12ac
commit afa351a15d80993f8ba6ae28652cc23127237e37
commit 501e2c7d42d61bd5f473cc719db431973959e55a
commit be1c21f17ce2d1e8cdb6d27b88a5346cfebfae49
commit 2efc8e1001acfdc143cf2d25a08a4974c322e2a8
commit 56e51681246e574dcb2e13fc071c2945c7667c83
commit 7c0f7ee00c7d52e7ef1953e151a7f5d5fd5db64b
commit f22067419e9683f8fba40ca3a0d56fb3106c7c6f
commit fbc24293ca16b3b9ef891fe32ccd04735a6f8dc1
commit 8855818ce7554fb7420200187fac9c3b69500da0
commit 83688771400895ce39994f158362a3c666993504
commit 70bdfedaaec12dd47b24f16a59d31ae1bafffd99
commit ca9beb8aac68468f1778ad0e0fdad4e204f91393
commit de7511aef767656950d1c236a294c1b941f14ae7
commit 6a929fea7f80fc968f26baceecfdb5129d159c98
commit 88c7ad91e378775a08f54b4a85068d51b5cf52f3
commit 5e5d4b39ce2098a1d09064eb8b4e6b6b9a0cbd57
commit b805d8d785e49cb3ee9279dad1402d5dcf902166
commit 0530553ba842884737a689ae5fac11154dcf3122
commit 541372bb62f289f4402cf55be51fb9cec7373627
commit e82c98f2ca439356d5595ba8c9cd782f993f6f8c
commit d1691bb22eba23a0131f1bde41d268bb0ebb0f59
commit 631420b06597a33c72b6dcef78d1c2dea17f452d
commit 803033c148f754f32da1b93926c49c22731ec485
commit 5dd45b66742a1f3cfa9a92dc0ac8714c7708ee6c
commit ab4f869fba6119997f7630d600049762a2b014fa
commit a50be876f4fe2349dc8b056a49d87f69c944570f
commit 4de867fc237487ce2951a8231d7390237d3f3be8
commit 8d9cdb4674f6e4e7fc789f8184a58c73eeadc16c
commit 38eecbe086a4e52f54b2bbda8feba65d44addbef
commit 764ba43d34ac5fd16e0e377643f89a7208f1f67b
commit ef3d74aa7e5d0ba4e9fc00f1409652e29f46fc59
commit 83aeb49c8c467e9fe77c4f01c80472a4329db49c
commit 0fdf06e449b6d6d970c0709c71a8738cfe551ecc
commit ac7485cc363f2c603a3e1a7a609ef065ad56b19b
commit b62f91569f9aa54b0a60d46a022482415cb968a9
commit 64626c0ee13257e330bc09fa6a169385c0eaf9ca
commit 0c1f033159712b3d071cfe4a3ec0f36f1914453b
commit 2c69679626d5daa680d71c77ad58af0088db537f
commit 4327a6137ed43a091d900b1ac833345d60f32228
commit c8687694bb1f5c48134f152f8c5c2e53483eb99d
commit 02a8ae723225afae25ddf9d2c7ca271b3f856b5a
commit d944eafed618a8507270b324ad9d5405bb7f0b3e
commit 21fc506cf5ef5de9c2cdc04036e35169d2b3e7d6
commit 13525645e2246ebc8a21bd656248d86022a6ee8f
commit 0d68683838f2850dd8ff31f1121e05bfb7a2def0
commit c8cc58e289ed3b5bc50258f52776cf3dfa3bad66
commit 793582ff47f8b73be8d3d925d750bf3ef79f33c7
commit 98f99e67a1dc456e9a542584819b2aa265ffc737
commit cf03e2956af307dc25e8c41fd4cffe44482a6ec1
commit 474f01015ffdb74e01c2eb3584a2822c64e7b2be
commit ce560ac40272a5c8b5b68a9d63a75edd9e66aed2
commit 822b84ecfc646da0f87fd947fa00dc3be5e45ecc
commit f11aee97b13ea6817287cd8dbed9b09a260ff0e7
commit 3fb7efd6866e5d43770e999b33d619a3b345dc2f
commit da5e14909776edea4462672fb4a3007802d262e7
commit 025ce392b5f213696ca0af3e07735d0fae020694
commit 0c0463ff010b80a0c03937ca8cf85587ded2f20e
commit 3cf7cd3f770a0b89dc5f06e19edb52e65b93b214
commit 56d8ce9d8c17bea955b0c2551ee86149486890ae
commit e0cce122514ff76c3c986103c94de68fbb401949
commit dd24662d9dfbad281bbf030f06d68c7938fa0c66
commit fc3888fe2c63b35a22db8234d142823a5ffda9d8
commit b1bcdd409d2d158867ce0b71cfa9bcefe83ce07f
commit d1c5c3e252b8a911a524e6ee33b82aca81397745
commit 425afa0ac99a05b39e6cd00704fa0e3e925cee2b
commit 99d92eaca5d915763b240aae24669f5bf3227ecf
commit 989cd3e76a4aab76fe7dd50090ac3fa501c537f6
commit 3caab67db1f69e077fb12ac194d3cd2a4de06d8d
commit 9675b3ba99ec79273d94afa09e9b69e2b8c0d238
commit 08da182175db4c7f80850354849d95f2670e8cd9
commit d893f39320e1248d1c97fde0d6e51e5ea008a76b
commit 32f7ad0fbe7521de2a5e8f79c33d46110247fd7c
commit 556eb8b79190151506187bf0b16dda423c34d9a8
commit cec24b8b6bb841a19b5c5555b600a511a8988100
commit b6a7828502dc769e1a5329027bc5048222fa210a
commit 7fa8a8ee9400fe8ec188426e40e481717bc5e924
commit 25feda6fbd0cfefcb69308fb20d4d4815a107c5e
commit 70cc1b5307e8ee3076fdf2ecbeb89eb973aa0ff7
commit 1816f4a17f54a01afa2f06d6571c39890b97d282
commit 6ece90e3665a9b7fb2637fcca26cebd42991580b
commit c8c2969bfcba5fcba3a5b078315c1b586d927d9f
commit 74a49415144035f171751d55b11ba04c9f348f9f
commit 4eea7fb980dc44545a32eec92e2662053b34cd9d
commit b03f38b9bd90d9eb29951e56f5a4375984c8dffb
commit 13af556104fa93b1945c70bbf8a0a62cd2c92879
commit 08c677cb0b436a96a836792bb35a8ec5de4999c2
commit 922a76ba31adf84e72bc947267385be420c689ee
commit 2397e3d8d2e120355201a8310b61929f5a8bd2c0
commit 100bd00881f8553d0ccfc99a575966d990c455eb
commit 8f586cc16c1fc3c2202c9d54563db8c7ed365f82
commit 682439fffad9fa9a38d37dd1b1318e9374232213
commit 1253685f0d3eb3eab0bfc4bf15ab341a5f3da0c8
commit a26cc2934331b57b5a7164bff344f0a2ec245fc0
commit 6f5a5e8670587d5066aacd0235071a166ee458fc
commit fa0d9c066dee8f52eabcb8416459aa0568b832f9
commit f4c41a7fd7f99329e5af0ac0a236504a60bfb17c
commit 1bef84af084e981550d9ecc3359baa22533d7b99
commit 084f51d473cd566eab310d5da56fe7b68d0b10be
commit 2da5bffe9eaa5819a868e8eaaa11b3fd0f16a691
commit e6232180e524e11205d285bb27045bf2c19db265
commit e7ec3a249c38a9c9be3a1eeb0142fcbaa3bd02d9
commit 476ac50fc30540e29191615a26aaf5f9dee91c49
commit af7828fbceed4f9e503034111066a0adef3db383
commit 58d9b9a14b47c2a3da6effcbb01607ad7edc0275
commit f57fa0f23d9707747272b0d09af8b93b19cf8ee4
commit b504f99ccaa64da364443431e388ecf30b604e38
commit 720b47229a5b24061d1c2e29ddb6043a59178d79
commit 6c032c37ac3ef3b7df30937c785ecc4da428edc0
commit 8b229ada2669b74fdae06c83fbfda5a5a99fc253
commit 275dac1f7f5e9c2a2e806b34d3b10804eec0ac3c
commit a41d985902c153c31c616fe183cf2ee331e95ecb
commit 0ff80028e2702c7c3d78b69705dc47c1ccba8c39
commit 79c901c93562bdf1c84ce6c1b744fbbe4389a6eb
commit 5247f05eadf1081a74b2233f291cee2efed25e3a
commit 4a76680311330aefe5074bed8f06afa354b85c48
commit 5b94db73e45e2e6c2840f39c022fd71dfa47fc58
commit 996e93a3fe74dcf9d467ae3020aea42cc3ff65e3
commit ad81e23426a651eb89a4b306e1c4169e6308c124
commit dc49c3b1d463a99fb529d2a69cc0e2270d6cb27e
commit 9235c21c37facd131b4d126ce7535ca573f850e3
commit d8843eebbbd15b78c6a7745717b3705eca923b0f
commit 50282fd57bcd3525c9d81eef58df8718e4337c6d
commit 5896f2d363d5cfb7510856c90d5e0ed934a1d340
commit 1aa7f416175619e0286fddc5fc44e968b06bf2aa
commit d5aa417808cf14c052ca042920b3c6b9f1dc6aa4
commit 8173cab3368a13cdc3cad0bd5cf14e9399b0f501
commit 11fbdda2ab6bf049e2869139c07016022b4e045b
commit 9d2d1827af295fd6971786672c41c4dba3657154
commit 68518294d00da6a2433357af75a63abc6030676e
commit c1a322a7a4a96cd0a3dde32ce37af437a78bf8cd
commit bf4823267a817f7c155876a125b94336d7113e77
commit 6d600229df1ed06f46ba68ac706d9f44ba8c5fb4
commit 79ef1c9d14c65a5c3f7eec47389d8c2a33be8e8d
commit aa8bf93101a185b49f83c9137453571a08be6e76
commit c47d122c5ba5f3b3371cfe051d770b5bbd591f6b
commit c21f11d182c2180d8b90eaff84f574cfa845b250
commit 45dfbd992923f4df174db4e23b96fca7e30d73e2
commit e79d85c6c217221ea32354a5ac0587a7ccea02b9
commit 60ecaaf54886b0642d5c4744f7fbf1ff0d6b3e42
commit 7fc602dbfd548045862df096910b7d21e6d300bf
commit a34fc1bcd2c4d8b09dcfc0b95ac65bca1e579bd7
commit 0d2dd02d74e6377268f56b90261de0fae8f0d2cb
commit 40baba5693b9af586dc1063af603d05a79e57a6b
commit 137f9cee113df91107cf91c130d5c414c4b191f0
commit 482e6ad9adde69d9da08864b4ccf4dfd53edb2f0
commit 13aa38f86eea7f95eca4909c075b3b511dc3f500
commit 5502d1fab09df791a8b1208dea9defc418b9bbf7
commit bed61c8fc7ba17d0f259c674137a5198fd2e3334
commit 6a07826f2057b5fa1c479ba56460195882464270
commit c1d35412b3e826ae8119e3fb5f51dd0fa5b6b567
commit f1373a97a41f429e0095d4be388092ffa3c1a157
commit bfc03568d9d81332382c73a1985a90c4506bd36c
commit 55e02c14f9b5fd973ba32a16a715baa42617f9c6
commit c14fb01c4629b96b64ab54caea7e543a0239f14e
commit 8e1b45c578b799510f9a01a9745a737e74f43cb1
commit ac1d8e2f074d9bffc2d368ad0720cdbb4c938fa5
commit 6889f28c736c357700f5755fed852a2badc15a7b
commit 020c76d983151f6f6c9493a3bbe83c1ec927617a
commit ce784421a3e15fd89d5fc1b9da7d846dd8309661
commit 30b2d778f629d51e2ff30beb6d060a0bd7f70104
commit bc3e1d60f933f823599376f830eb99451afb995a
commit e490d60a2f76bff636c68ce4fe34c1b6c34bbd86
commit 663b930e24842f3d3bb79418bb5cd8d01b40c559
commit 62fe398761cd06a428e6f367aba84732a2f1c268
commit 3692ababa322b4d9ffbd973865bc88018e896fcd
commit b6ccf213d95e9373ac1f7fbcb5de3b52eec0ddb3
commit 40023959dbab3c6ad56fa7213770e63d197b69fb
commit cb2e701305f4ffe3a107c1d97f8588b4ed48ccb3
commit 2d6f2f79e06571d41eb1223abebe9097511c9544
commit 79d0150d2d983a4f6efee676cea06027f586fcd0
commit 30c3d3b70aba2464ee8c91025e91428f92464077
commit 2a1eb1a343208ce7d6839b73d62aece343e693ff
commit 1d13c49cf4e246b218d71873f1bb1bbd376aa10e
commit 38e4ced804796c5725e2a52ec3601951552c4a97
commit 99b3886f8674502e967b1d050e40aa669c9098c1
commit 59de751e3845d699e02dc4da47322b92d83a41e2
commit 3b3ffd729e7e3ad706ddba4bb84358df5d43a647
commit d511f95938bf9e75ab73ace0ab1cebbe9a13df4b
commit 73c12de8bee258b51bd418f33dc59f2c6e5fb5f6
commit 982b173a6c6d9472730c3116051977e05d17c8c5
commit b447b079cf3a9971ea4d31301e673f49612ccc18
commit dac652220ba0e5a2ef2da2a47a60b60aea333fdb
commit e1a600208286c197c2696e51fc313e49889315bd
commit d6d4f0a1189313310d77f1d5a2bb6277f3afa13f
commit bcd84301a33b7434a506fdb1a9076b7a234817a7
commit 11d24327c2d7ad7f24fcc44fb00e1fa91ebf6525
commit 95011f267c44a4d1f9ca1769e8a29ab2c559e004
commit 20a2ce87fbaf81e4c3dcb631d738e423959eb320
commit 1dbcf770cc2d15baf8a1e8174d6fd014a68b45ca
commit 55b94bb8c42464bad3d2217f6874aa1a85664eac
commit 94034b306ddde4a4a9c1a597ae7f61f04b710dc7
commit 87af86ae89963c227a3beb4d914f3dc7959a690e
commit 5b711e7f9c73e5ff44d6ac865711d9a05c2a0360
commit e61f67749b351c19455ce3085af2ae9af80023bc
commit 3eb1a3a04056ba3df3205e169b8acc9da0c65a94
commit 7ab1a4913d0051cf5196ef7987b5fa42c25e13b6
commit 7ca302d488f80cf4529620acc1c545f9022d8bb8
commit 7ac9be96b0113a34c33110b32912642bdc8ff33d
commit 9db5ec1ceb5303398ec4f899d691073d531257c3
commit 34e5a54327dce5033582f3609eb54812a8c61b90
commit e749dd10e5f292061ad63d2b030194bf7d7d452c
commit ea2062dd1f0384ae1b136d333ee4ced15bedae38
commit 7c5835bcb9176df94683396f1c0e5df6bf5094b3
commit c8a5d5ea3ba6a18958f8d76430e4cd68eea33943
commit 9930f518b6a82ff10a3d13e0cbde05cce04f5930
commit b7cb3821905b79b6ed474fd5ba34d1e187649139
commit 54d217406afe250d7a768783baaa79a035f21d38
commit 8ba90f5cc71701aa262f222effead02206b04227
commit a92b7d26c743b9dc06d520f863d624e94978a1d9
Signed-off-by: Mika Penttilä <mpenttil@redhat.com>
2023-09-01 05:07:01 +00:00
|
|
|
.set_deadline = dma_fence_array_set_deadline,
|
2016-06-01 13:10:03 +00:00
|
|
|
};
|
2016-10-25 12:00:45 +00:00
|
|
|
EXPORT_SYMBOL(dma_fence_array_ops);
|
2016-06-01 13:10:03 +00:00
|
|
|
|
|
|
|
/**
|
Merge DRM changes from upstream v6.11..v6.12
NOTE: This commit does not compile due to missing RHEL-specific fix-ups,
which are split out into separate Git commits following this one.
If git bisect selected this commit, run "git bisect skip" and try again.
Repeat this until it selects a commit which compiles.
This commit was generated using:
rhdrm-merge-drm v6.12 RHEL-53570
JIRA: https://issues.redhat.com/browse/RHEL-53570
Conflicts:
Conflict resolution:
diff --cc drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index a6b5ab89b7ca1,1893c27746a52..db88bfc044b5b
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@@ -2677,15 -2727,13 +2727,16 @@@ svm_range_get_range_boundaries(struct k
return -EFAULT;
}
- *is_heap_stack = vma_is_initial_heap(vma) || vma_is_initial_stack(vma);
+ *is_heap_stack = (vma->vm_start <= vma->vm_mm->brk &&
+ vma->vm_end >= vma->vm_mm->start_brk) ||
+ (vma->vm_start <= vma->vm_mm->start_stack &&
+ vma->vm_end >= vma->vm_mm->start_stack);
start_limit = max(vma->vm_start >> PAGE_SHIFT,
- (unsigned long)ALIGN_DOWN(addr, 2UL << 8));
+ (unsigned long)ALIGN_DOWN(addr, 1UL << p->svms.default_granularity));
end_limit = min(vma->vm_end >> PAGE_SHIFT,
- (unsigned long)ALIGN(addr + 1, 2UL << 8));
+ (unsigned long)ALIGN(addr + 1, 1UL << p->svms.default_granularity));
+
/* First range that starts after the fault address */
node = interval_tree_iter_first(&p->svms.objects, addr + 1, ULONG_MAX);
if (node) {
diff --cc drivers/gpu/drm/panel/panel-sitronix-st7701.c
index a69e861eb1130,eef03d04e0cd2..56a4041f5ef5c
--- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
@@@ -12,8 -13,9 +13,9 @@@
#include <linux/gpio/consumer.h>
#include <linux/delay.h>
#include <linux/module.h>
-#include <linux/of.h>
+#include <linux/of_device.h>
#include <linux/regulator/consumer.h>
+ #include <linux/spi/spi.h>
#include <video/mipi_display.h>
Commit list:
commit 9fc97277eb2d17492de636b68cf7d2f5c4f15c1b
commit 7c0389c615b5c6aef1b0e38e30db759b3cbff885
commit 627c961d672d3304564455ba471f5e4405170eec
commit 8169b2097d88d99d7e4a72e20e4b549efe9eb8d7
commit 67d90d679eb3447f73e2a1fe55f7e6c6a44c9fa1
commit 2e524668c440104633af1effcc85d1d6234c7ccf
commit 96e7ebb220f8a873321cfc5a87bc4533d36ec444
commit e8babb280b5ef904df54b3a90e5a7e3a9600c4a9
commit 282e6f846d8c3fcf36293f68f38d814645c3b852
commit a708f6501c692551e3d4ea618c44021f436730d9
commit 04e9c0ce19ac68afd8be7fd54772db3b0356cf75
commit 9dae9751c7b0086963f5cbb82424b5e4cf58f123
commit 466a6c3855cf00653c14a92a6e9f8ae50077b77d
commit 3078d9c8b6a0939bc732fd1c36ef86c0178127dd
commit 01570b446939c3538b1aa3d059837f49fa14a3ae
commit c55f79f317ab428ae6d005965bc07e37496f209f
commit 01e0cfc994be484ddcb9e121e353e51d8bb837c0
commit f3a47a269119ade7ea22d0465c7fbe518ca1bdfc
commit 74e3076800067c6dc0dcff5b75344cec064c20eb
commit caaf1f44a6a27bae33eee189842c4d8fc21c3b02
commit f592e01664b4a57b109fcf6f6916145517f94bd7
commit 6be74ddd0609959b4005f88b6a4d4af678e4a71f
commit 9c62fb62c9f0761eeda8f2a9517e007ff2cdbe9a
commit 8e9bf0fb10a79aaed37474600948cd33d14aa606
commit 4c44f89c5daee9540cb7428de5d835bd00951350
commit da966b82bf3d16f89a05732c933a589ec798d3f7
commit 10efe34dae798c652053d4363871914c478f1475
commit 3756310e9fe1e0182adac89cedaa98c0eea66675
commit 1dcfca093be9e013a53e3c9b74b3f60ea9c5160e
commit 014e597d35816b56c7aac1348b77c73657c4066e
commit c4ce398cf18ae2859cc9930a9486b576ce262de9
commit 533ca79cd9f734aae56814445e3f1e6cc1a50358
commit 56ab6986992ba143aee0bda33e15a764343e271d
commit 3d122660dc70029d9cccb4e8670125f0affa959e
commit 7b5bdae7740eb6a3d09f9cd4e4b07362a15b86b3
commit b2013783c4458a1fe8b25c0b249d2e878bcf6999
commit ea74bf9ccba9ae80fc0766c07c4abaef927e9e63
commit 7fbad577c82c5dd6db7217855c26f51554e53d85
commit 33891539f9d6f245e93a76e3fb5791338180374f
commit 24179ff9a2e4524ce83014b8827a73ad03a25c13
commit 7f58ebaccb67cb22b2936ba79c844f1e446dc73b
commit a16b680a2140e6cbda41ac144564696c3ee2815f
commit e4bd1db1c1f771983393bf5574854dff26ca7532
commit 0e7f4e6a20d550252c4f355d5a303b1d9c8ff052
commit 76299a557f36d624ca32500173ad7856e1ad93c0
commit 9d8c094ddab05db88d183ba82e23be807848cad8
commit 71733b8d7f50b61403f940c6c9745fb3a9b98dcb
commit 993d36ac99efeafeb7b5f12353def6d7d20d6389
commit 0daf44ea9dccfcdb1fe694e9ea85497b6cc3a065
commit a4d5ce61765c08ab364aa4b327f6739b646e6cfa
commit 211ad49cf8ccfdc798a719b4d1e000d0a8a9e588
commit 4613aa66e42ba1b0c896495a207b3b26e94e44d5
commit 61fe488fc78a3024b8d4cafc90a34158f4562dae
commit f6ca930d974e473fd608fc9aa1759fbe731fe44d
commit bd85e00fa489f5374c2bad0eac15842d2ec68045
commit 57c2b3e684ba3e82e9944bc1975e047bd1630537
commit d6e850acc716d0fad756f09488d198db2077141e
commit ff10c99ab1e644fed578dce13e94e372d2c688c3
commit 0237368193e897aadeea9801126c101e33047354
commit e97701a069612ba2fa1d92b56a720b108049df4e
commit 3b0974d7b74a908d1caa27f05a97551943e1bffe
commit 09af6037128c101c280c95c56d970ce8475506c2
commit bc34d310b578952d37b5200a7fa7475ab2a2bd5e
commit fd5a9b950ea8ba2c08ce07418b36b296a04d712b
commit 6c9ee258b1f4e7021224c9bf541fe6b17a03ee40
commit a5beee65241d25ad20dd814668c975ba13a42615
commit da9bbdb97469383a2ac97435a3b09543d14139fe
commit 4c46e34e67587b268abc3916c9613426018561e6
commit 94900000380300b230dc1bed489b598a2a2c55a1
commit 6a1738b3fdd92d48e61de438d05dedbc00fc598f
commit 566ad72ba636b745beb8a440bd4c05e779b95728
commit 4290eaa8424905dcee4daa0666ec841dc3a0bfb3
commit f89d7664c3617836aecd291c56c8ab63fe228fbd
commit 4d722029930bca7f53d99dbfc300a40dc297dee6
commit d43caea1faf5c31dc02aa1adb8bb1aa1c33bf86f
commit 43a6faa6d9b5e9139758200a79fe9c8f4aaa0c8d
commit 6f1cacf4eba7a3203f08954a7e00b744e43f741c
commit 4c3fe5eae46b92e2fd961b19f7779608352e5368
commit 86c5b70a9c0c3f05f7002ef8b789460c96b54e27
commit cd3a2e8b0a0367c636cd82efaf7802cf85ae5dad
commit 7bb97cf915884956311352eae3f444eaaae48cea
commit 3ac9384061b250ee40eda5facff10b85e2d5d3d8
commit 45d30c828c613441bfbe5c97ca766854152b7181
commit a237f217bad50c381773da5b00442710d1449098
commit e1a261ba599eec97e1c5c7760d5c3698fc24e6a6
commit e02cea83d32d3a616c9ef8b6b50a83444a6bbcbf
commit 7dbe8af13c189f5937e87e9fb924d5bbc49e6f71
commit 452bca0edbd0764ca0284239d5438b3edd305ab3
commit 108c972a11c5f6e37be58207460d9bcac06698db
commit 54f07cfc016226c3959e0b3b7ed306124d986ce4
commit 8d79acd567db183e675cccc6cc737d2959e2a2d9
commit 2b808d6b2919cb2fe92901e5087da7b4ed4b9e07
commit 523f191cc0c728a02a7e5fd0ec26526c41f399ef
commit 8a92e2a67f627e69dd52aa9c2d3176be13aef2cc
commit 3849c6ff3a1517e4c8a6d004d9cb31241c849713
commit 775d0adc01a55fe0458139330415d86bb3533efe
commit 275aa53f59df769802f28a0a623019aadab2e05d
commit bc657615e10ddd7637dcc05811194ad7e2baea33
commit 99e0fb8b087120b5a7019f1cff6c5c2b5b925ae5
commit 0fde907da2d5fd4da68845e96c6842497159c858
commit 5e4e1ed6b87b6b3a3531cd8b5cfa9c3b09d841b2
commit 104bcfae57d80c484185c012cc0ee8d8d5889a7e
commit e4a0251d36fc6c190c545aa95702eec0efe05a4f
commit 7108b4a589cd6d3a2c1276fd610b3500f46de66a
commit 0c977ff2b807aa53f655f095b0a306f18d8cf7be
commit 3d0c4a62cc553c6ffde4cb11620eba991e770665
commit ce8c161cbad43f4056451e541f7ae3471d0cca12
commit a2387e69493df3de706f14e4573ee123d23d5d34
commit 2149ded63079449b8dddf9da38392632f155e6b5
commit 754c9129b9494b2b058add1d1a627fb3c9466a03
commit b345b3542d66fea49bff53288d347ccb06fa1b3a
commit e8f834b559621d634a939381caf99a024e272211
commit d6460bd52c27fde97d6a73e3d9c7a8d747fbaa3e
commit 5cd522b5331b348302fe410dab1cd070e4fd6998
commit ad16682db18f4414e53bba1ce0db75b08bdc4dff
commit 89c6ea2006e2d39b125848fb0195c08fa0b354be
commit d5070c9b29440c270b534bbacd636b8fa558e82b
commit 9f774c42a908affba615bbed7463dd4f904dd5f1
commit c2c2a91f3868515969a758042887fdc722216525
commit 3a9b77cee7502f7450c725d4ead2c4a44924d158
commit 7e33fc2ff6754b5ff39b11297f713cd0841d9962
commit a522b285c6b4b611406d59612a8d7241714d2e31
commit 61ac035361ae555ee5a17a7667fe96afdde3d59a
commit 0a382f9bc5dc4744a33970a5ed4df8f9c702ee9e
commit d930c19fdff3109e97b610fa10943b7602efcabd
commit be1dcdffa8fadc22ad272f605a53e2a2fd30e7f8
commit 2885d283cce544cf3619f35f0acb3d073de036e1
commit ec92c47d7d098e85eae7fb25c6bc07158686e675
commit f6f22012e6c73867b959524604984ee5ebfd105f
commit bd40536ae33911bc74df5ba3b29b573dcb72f904
commit 8bfab7cd8335b10bad92e44f58c5a038762bcbc3
commit e17eedf56ea7afacd919a3d6cc75a617cddd003a
commit 8f3d86f13eb2b37d86fc48df8995dffd9b7d9010
commit 37db1e776285518a7e1269b868d094a4532b2d54
commit 57ecead343e724b6ea38e9c2d8f794b293cf2951
commit cf1e6edbd1c8ba654f97071ccb748d87ef0115aa
commit 9790bbe3ba48b659c0152f49552f6abc18f85bc8
commit 25ec7e809cc1fe9f01a71199d29092f6f1b4611c
commit bc3ca4d94369838c3b6668a183467d4a69a5a482
commit f00bfaca704ca1a2c4e31501a0a7d4ee434e73a7
commit 7e0fe233aa0849de8a0a5e60cb0d71dfb359664f
commit d4b9b6da5777bb03f36f01bb6b05c6cc303ededb
commit b26d9dddad7bca6727069f6a26b265d303c65c49
commit bf32a3a1268638442ac43b347e4a4a09044dccea
commit d5e79eeba3086a52593b295ac4bf6eddd64d4aad
commit 9c27f613d55f8ffeb3f250d9d34e41edca3df3b5
commit 649b93dbb902ae3237fddbe998eb1f4de1a14b71
commit c8a31ff6199f12ca65d73f1235117c1d9e6365a9
commit 8af13c3fc1259c1b8cfc4459d3701fcf41ad74df
commit 1fb4dceeedc5f0d1d062ddc44c4a426e1639e387
commit 19cc4b7d75b52df2b4fbb76428a6b0dda3d248bc
commit f763c3b543d80ebcb94dd19a69324bf2b72b23ab
commit 08bed7e4ff24f90e200defcd2c23e70b0a3cd710
commit 43796955a89572c63f7f96e271a2849c27d18f2d
commit 00bb3223bf7cfed3c9c714e994cbd454cc3e6b73
commit 1eba165aa40c79f65f487678c8ea8e77b1c6a5a4
commit ccb54d7d91d256485cfe5403a12abb0175ce4539
commit 0f1a93704a5cf53ce819a7c544125442666d61ce
commit e84f798a93881062cd14ce316a68068edd50bfb4
commit b68417613d4134b9e39fff95e72ca726268b47db
commit 4ccc8fdcca670edd76d8bfd6389f04c448cff6f6
commit 5f30ee493044e9ea3a46167e5597a96f5c302adb
commit 0961367cb5208850a123d235d147f92f586b2491
commit 98579743c4561acc3b1c7d2f3fcd46b2160db5ba
commit e8d77cfdd2698039667432b8569bac34d13508c1
commit bc2fe69f16c7122b5dabc294aa2d6065d8da2169
commit 3c9154310af71802de2f40c5689b66009a407f37
commit 5fc77c26970d443f1c020ee8a5d475ad6b81e15f
commit c83ecc0bee94995117329fccbfa6e8b43ce56044
commit 218784049f4b90834dd7b854857df0b7e0f76567
commit f5c783868855bbecfc4311050dbaca4cb28ada5e
commit b3c9c9affd71f1f9b136534d6f56f392edb78620
commit c18fa08e6fd8952e88fa9ad108371c2bd5b82564
commit d94df7cad26b4c5958fbfa550d65794c89aa90ba
commit f60881ca126cf825b89b4118e93dbd82ea9bcf33
commit b995c0a6de6c74656a0c39cd57a0626351b13e3c
commit 367cd9ceba1933b63bc1d87d967baf6d9fd241d2
commit 3718a619a8c0a53152e76bb6769b6c414e1e83f4
commit 5559598742fb4538e4c51c48ef70563c49c2af23
commit 1ff12bcd7deaeed25efb5120433c6a45dd5504a8
commit 35ff747c86767937ee1e0ca987545b7eed7a0810
commit 892abca6877a96c9123bb1c010cafccdf8ca1b75
commit 906fd46a65383cd639e5eec72a047efc33045d86
commit 5d2c102deff63ff8980dfa848ee41858d255c291
commit 2563391e57b5a9c1d83fd36c05ac4cbafeb5efe6
commit 5ed9481db74740fd33ec4079b29db88e8c9f4a1c
commit f91a9af09dea850d83d4b217b8acbafd97b5c61f
commit 39d496d4721ba509647a70041f38d82b03c74680
commit 4e8eac98046446d99cbbed740f0767204b839f3f
commit a41d58fb91248557438de4e8298d1d2ed5b39564
commit f82200703434522f1b35d38bdef02486d22b2f25
commit 9932ca4c03c8181601f611dd366fceb765329800
commit 0beca868cde8742240cd0038141c30482d2b7eb8
commit be1fb44389ca3038ad2430dac4234669bc177ee3
commit fdd5ecbbff751c3b9061d8ebb08e5c96119915b4
commit 6d64d39486197083497a01b39e23f2f8474b35d3
commit 323b19f424486e61784e8797a8bfb2e24585e162
commit b8d3782da396215615c3d125f0829d1d06ad2c97
commit 08cbe68d4aafcf651a86730a485df53e6ee9f594
commit be7a6a5171649c39f79a6259518218351082bd99
commit acce1eb8eb5de360fd82fd900454ff180912d8b1
commit 748b3c4ca0bf43cec186ace2ecb33457d7a4653d
commit f59549c7e705be0087d08bc116ccc767b86d8362
commit 48eba83018c14ba6c102f5801d31c398807535d9
commit 6b0a9bf72c04cd8d2864fccce42817c24b060aec
commit 2d67c4b54909982d462bfe227279d1499b329545
commit 60a9472cf0a8568f32be6cbbd32ee7759bffe215
commit 90985660ba488cd3428706e7d53d6c9cdbbf3101
commit 78dd6a8d33a3363fb4196e173be0eb4002962798
commit a6e23bec8ed184ed2a11080b28cdbd7a3024f0c0
commit fb1b5e1dd53fc834e12f69749cbc8484382599c4
commit a9ed2f052c5c14e4be58c5ec8794dffc87588123
commit 27cdf8c3cae2ad1dbfe1a32ff999c98349366862
commit 56631dee2932dbc203f0abd1011aa9d3d621e206
commit a7e8467fbeee654e390aad1736291d273b407a2c
commit 7a38efeee6b59d0984ff0470d234a06fe6a7cf3c
commit ca82ee4e9fc1443f9ceec615918b299766432eec
commit f2ac52634963fc38e4935e11077b6f7854e5d700
commit 4df9e2200fb8ae7199e46eaffeb9430bc0ba3ea7
commit 666f14cab21b17ccc1bdfe1e82458aa429b3b7e0
commit 93381e6b61804b777f60357d96d6254eb10b9b56
commit abf839f5ebd98134f51764f2a2841faa6cbf268a
commit 80237bfc031cd74cb8abf0d21094207284d56a48
commit fec5f8e8c6bcf83ed7a392801d7b44c5ecfc1e82
commit 585e3fdb36f59c5cfed0ae06c852dc1df22b1d60
commit 49cfaebe48e97500a68d5322a8194736b0a2c3cf
commit caaf576292f8ccef5cdc0ac16e77b87dbf6e17ab
commit f9e292cbba21e79abea7315b41a52c36ea2b6980
commit c86ad39140bbcb9dc75a10046c2221f657e8083b
commit a11b36ba9c1ac494c6a5cf7f1a5e68c1ce4dbe18
commit db54a725d57985c869f6fe4153a36cd229ab0b73
commit fb91065851cd5f2735348c5f3eddeeca3d7c2973
commit 72dc6bf159467f43667bead6016965821186490b
commit 3f7477bfbb906ec1cd9ad681475a04a142345eae
commit 6fa4bf3dce0668a96faca0024e382f4489a9cc9b
commit 332315885d3ccc6d8fe99700f3c2e4c24aa65ab7
commit 14d6ca0740e6237f4bca2dabee4e240b6f4be508
commit 0cf80506918da0d2cd9d31e3b07831f94a2c5cc6
commit 94beb4ac1b3bc5fbeef977960a90ee4f594b4465
commit aaa21e6a33bae017fc190bd75f76baa29d259346
commit f52ea01925f4eeb967c09cb5dae61608a2330541
commit f7543209ce5dc09e3f5a27a7d4ee53e226283719
commit fa53b23ff7c98930c7e529b8f5228d9f182ae2bc
commit a90e1dc25c064bf21353cb342aac938662a148e4
commit ec0d7abbb0d464619d6d1646f03603c6616d966e
commit fae1879dc229249c17e5fd4ef81bf33684ee58f0
commit 1a03b0e6c5fdb476203be4f4597205ff8799369b
commit d925c04d974c657d10471c0c2dba3bc9c7d994ee
commit 3237403b98e173c296ec83cbba5e9def331c5e13
commit 58ed441367b9b0fb48aa8cd471a73073d1143e16
commit 8732594017d32132ca741f4ec4eec91211f5d10c
commit 779ea9d32612f8e78a2f362d52cf31c23ba878f0
commit c8a0222dedf90e9a79b88814e32ffb43ac4beef6
commit 0352e39e7e781fe6a408c70a336d0f321dfe108b
commit bc50b614d59990747dd5aeced9ec22f9258991ff
commit b7e99058eb2e86aabd7a10761e76cae33d22b49f
commit bdf606810210e8e07a0cdf1af3c467291363b295
commit d81873f9e715b72d4f8d391c8eb243946f784dfc
commit f22f4754aaa47d8c59f166ba3042182859e5dff7
commit ac2140449184a26eac99585b7f69814bd3ba8f2d
commit 12fb3e9c88406732749fb2f111911a2438eeb0fc
commit 7e60ecc2b70adb41b92752cbcd749040e00b57b8
commit 9c7e69d2e1245fdd5fa5c65cd022530b2a5ef1b7
commit 68e599db7a549f010a329515f3508d8a8c3467a4
commit cba7fec864172dadd953daefdd26e01742b71a6a
commit 4b6377f0e96085cbec96eb7f0b282430ccdd3d75
commit eac3b274aaea11ec4ade8e8f684055db80d5f8b7
commit 22a9d5cbf88a92ac6cd473c3ba1c369aee8fec9a
commit 834368eab36922595a402b9e76470f8efa2fac7f
commit 8284951a6e79c6806c675e5f68a4cd425dd56bc4
commit c395fd47d1565bd67671f45cca281b3acc2c31ef
commit 015b8a2fdf39a4c288ff24e7b715b8d9198e56dc
commit a2737c404cb2c1c335db30737925a306a2e7cc11
commit f53f526f7050041718af84e33fc24f670e7dccdb
commit af4808ac40dbf668183d0b69ef6b31e62e1fc5df
commit 4b95cec68937a6302c7085b26258cf721d726684
commit 2662b7d9d8bc1dda1f89f0dd33422e069f2f861c
commit 39879321769cc2d9a690725959ef76af92a38ac1
commit 48695573d2feaf42812c1ad54e01caff0d1c2d71
commit acddd5cf70e609e1e1e638ac0422977ea2b4783f
commit a7909022371dc8c70bdc4871a97cc49e34d78a6d
commit bc6c2a6f6495668e3cf0acbecf820b93ca03aef7
commit 5ebca62eb8ebff67e2c8c4903bdb4f3c07922114
commit 238352b4949bc5c724f6adc1c78d50f1d15e4759
commit bd4bea5ab2bda37ddb092a978218c4d9b46927e6
commit 61eec998c9399d1cce91c7a2f51a4d0cfbab97bb
commit c60ca14bfd2d399a66f7164e044b63991c6a5a82
commit 708899133615bdb8087cafa129b8e24397d0c79d
commit 2108cdcee58b06460a8ecb106d15ab69f5bd49fc
commit 6482253e6e1ad1c3a76645a3899d3cfdb5b918cb
commit 76a791fa0926e504f262310cbd0c8f1a60e67ae8
commit a2b4da9501c120d60413065169f140bc3d2e5991
commit 66ac3451fb467ce44fb1d4517f91db7390b9fa6b
commit 7214da0ed2220a2b9ad22aa77a5974cdd2a62799
commit b46119578167150810184494b2a097c40e2144b8
commit b049504e211e8f4dbcd40434f2dcab2215ea1039
commit 305cd109b761202d71f2f655ea369fe889ba1d01
commit 3b37e2725ab32c9055bec00ef41caa63839efd37
commit 0b071245ddd98539d4f7493bdd188417fcf2d629
commit 08ae395ea22fb3d9b318c8bde28c0dfd2f5fa4d2
commit 47c0388b0589cb481c294dcb857d25a214c46eb3
commit 517fff221c1e6b8a8db69e7a440116caee120ff5
commit 629568d25fea8ece4f65073f039aeef4e240ab67
commit 1a394b4f504f33eac8c38b6f42ba025105c7e869
commit 31b42af516afa1e184d1a9f9dd4096c54044269a
commit d34f4f058edf1235c103ca9c921dc54820d14d40
commit b4224f6bae3801d589f815672ec62800a1501b0d
commit 3e307d6c28e7bc7d94b5699d0ed7fe07df6db094
commit 10ba3753665f77314cb475e1a4ad0785f4770c4b
commit 83b501c1799a96a41e163973e88826253ffadfb3
commit 773884e39bb5a57f998af48b3948308568027a54
commit 93183c9959d456530ae502865586522acf21adf7
commit 3c8d2d5da3e29f73fec6e04a424e789422f697db
commit d969b31afa439f71f810076a5612596dae38fd86
commit e814902866ed22bc07d2af1303f3183357a438e8
commit f4aa02c43969c36213a7fd4e56831693fc83ec4b
commit 351a88713b6daae5435d683ddab1913a65d09eb2
commit 8155566a26b8d6c1dd914f06a0c652e4e2f2adf1
commit 17c6baff3d5f65c8da164137a58742541a060b2f
commit 75c3f06fd900e01a68b8ade17e6b6be64cfdc9ff
commit fdedd77b0eb31209c59107de66880ef0be21a77a
commit f3c681f0c3b171db923d6147785064962351e043
commit 60c30ba7ba2064066ec462236666058cbbf619c1
commit e06b71b2313a00579ba64a1cc43ad29d64cb8d4c
commit 8f28c465a455563917aa15bf5ef40016b2a665d6
commit 641a118c9d91e53bc920ec0ea2ea350d84eb7a9d
commit be8f9f4c866f41b62a3df9a5cfd54e0e88fc3e3e
commit 81e0a3d1063e388efcbbb4648e07479575ec85b4
commit 5e9209c3739454a08c4d770c649187b0f51dffc6
commit 9d8e91439fc3890de55eef2bcfde97470b7dc04d
commit fd6797ec50c561f085bc94e3ee26f484a52af79e
commit 0d5040e406d2c4404d26b841c4aa34cec0bf1088
commit 20d70de5823ee6b9d4e8b3db4c13123cee0358af
commit 961ae5f9807bb15af0065485785725768a7269b9
commit 448359c1ce50a8e61842c39ffd52f399409a6860
commit c0bfe34330b5fafdbbc63a7124841711651b96b9
commit 6777264dfabe2a7c75453031bee5bcc2e7882cf7
commit ea94c8e217f9a845bf2c565b77c5eb078e975eae
commit 2e408ad7a55273b55b14ce28f62111dc1c4f7fb6
commit ba6b8479c944c50db7e2a81794885896fa6c48a8
commit d075d99ef73bbeca878fe2cbf758f8524bb698d5
commit 8bc1ab4f615b200507b113d31ca614fa17b9772d
commit b5bd7cf76b7cf8f2dfe36aec0e4916a2a95c8fbb
commit 4a865f6a76ed1295d878029cf7a1797395b1aec0
commit b2d474d4c8fa9cf7d18dae3c0784c4a710e850ca
commit ca6eef9b1c3486bedadad6a85d246b26df51c61d
commit d6e44a8548b614fa9d6c77e0c12b929c2c791258
commit 455167e8751c7fc50e88496e6d5dfb896e2ab3dc
commit ffe9f1bfb3e6709769779bc6c1a5b1d971b7b95d
commit 7e0d8de4d35789b57eee8acb0a952b854edb37a1
commit a897f65b3a6175243e4878e2fd2e9b8f494710ec
commit def122b64e37daa39774d4afa433ad42b8a5eaf3
commit c45c999cfb6716d40af9048ed0142e42a6235378
commit 246b228eb905c94663af435a1cd6cd31cc205ba0
commit fabc65d16337b6cee1cbbd1470bbb903f6daf3ea
commit cced63c3dd23e061f0fca754a3aeb35b62b0a628
commit 216c3c4424bb42bd6e4ea75cfe0c22aa7dceda6a
commit 8d7b2d3a7e3aa4fac309f9a496e6b237729d2b01
commit 6901f1d6479b6f81b537672cc16720b06b2ab3a5
commit c6bf82d426d8293d7257b9db368e025b1fd66454
commit 0fa0955acdb342bee3651bacfdce3d8927ab1025
commit 3019023ec9fb2bd7b0d2d82ce847ae2520f24c1b
commit 5cca41ac70e5877383ed925bd017884c37edf09b
commit 2eb58f22e2761b75e4f35847be03ddd425ae2b5e
commit 3543e84e20fbd60e02264f757c77c7dbdfd1ee4a
commit 034142a303fed2903957b06a7c91abdff5531bcf
commit 0df26c0d69dce1141218e0e5ed0ad378a0c6c058
commit 723388bc0fb68f2487795796f4e616ea39cee99c
commit 61671d85def2960bbf52db22e9e45b3bf8a5ceb5
commit f3392e662efdc095f10109f588aa4f3be86f7eb5
commit 50d10d9271f6c6542196c54275091c7b2c6edf97
commit 58d283801d06d4434df6625ed6e6b8d2ba47fe65
commit cd162ae9bc3ba91eb630a1321afd3d1dde5f2000
commit fbfb5f0342253d92c4e446588c428a9d90c3f610
commit 25dd25f86eca77b1ce4a611432f57b006fa91615
commit 8e4ed3cf1642df0c4456443d865cff61a9598aa8
commit 66d71a72539e173a9b00ca0b1852cbaa5f5bf1ad
commit 7c5b344537a143d15385992e41a50a9c5125e93c
commit f9e6759888866748f31b6b6c2142a481d587f51f
commit 7fb363c57522b704e156fc4c5fbcb7ee133fe304
commit 17e68f89132b9ee4b144358b49e5df404b314181
commit 0e4b858285e633ea6bc7335fd66529955d023af9
commit 076362d931d0d5ed01a3d1cd4d066f2e6e7f86f8
commit fcb3a4fb8255149a73afeb3d8f2397eaac3a46b0
commit 680caca6feee720d0a6cb00f892c0d2d46dc4075
commit d5022deb4a526009fdc20e4d62528b25b05112dc
commit 3f96f545f877ac59d0c967f52d760b4b2b3b9a47
commit 722e96c99f1d7532fdfbb557f50a399f6cc57d82
commit 58a8ee96f84d2c21abb85ad8c22d2bbdf59bd7a9
commit 739d0f3e1f36738d4cd84166784a8f7a58d69612
commit 9724b8494d3e85cb01c377f201bfaf25fd7d38ff
commit 093b79d034c59a3b66f6312863502378a422496d
commit 4981bd4749fa769b3d6acbc82fe8059c030d0920
commit df18a4de9e77ad92c472fd1eb0fb1255d52dd4cd
commit bd870cfd21489d28195fda157710ebd4cecaa8ca
commit cead9ac8b0992ae2659b637e86a0da7cfeb5e267
commit a15268787b79fd183dd526cc16bec9af4f4e49a1
commit 13d8850a3387635c051c5ed1c8a8b6c1e9bd1341
commit 608d886c978cd5f3d8650630568d96c231845227
commit aeb81b62c7fe4782198e9dd79c7d6cdf04d92586
commit c6bb3acf1cdeed5d01ebde70b769a8e25993965d
commit b5126ba85beadfa1f3cfdc9e7a8533ad444ca210
commit c3f15273721f2ee60d32fc7d4f2c233a1eff47a8
commit 6eb1fe53ee94cffd7187844d08d46ba8659d667a
commit 4067f4fa0423a89fb19a30b57231b384d77d2610
commit 31663521ede2edb622ee1b397ae3ac666d6351c5
commit c9bfc37f085aa180b3c49b9c95756b9ef032243e
commit 0c3f3a83c7e8dfaaae4ba8a5b69bd6bc13340d0b
commit 0e8655b4e852ef97655648b91ce780384a073ff4
commit a6ed988ecdffb2680a65f142acfe3271e6c04ab4
commit 6f4e43a2f771b737d991142ec4f6d4b7ff31fbb4
commit 7657d7c96657179d002817d5ec2a1d4c84f21cdb
commit e525473fd5b7202ae751316799ed759bfaaf02bc
commit 20c3a0241b5c15c0d64929cba04653d5556b7d5d
commit d93a4fec186c106115d0b3165047dd06f2c1aaab
commit 9eab82c38d0184289ffea56477daca8425758442
commit 6da8acfdb6e1aa72787efb733e3af9e9e0c57b9a
commit d51a75ac975a6147a4dea2d68cef4566f5c2ecaf
commit 1c408c516414fd9760c54f6d42ed1fa44a1dff15
commit dbcbfc72d3b660b6dd9ea7d2c089c228609714ec
commit e4ac526c440af8aa94d2bdfe6066339dd93b4db2
commit 250ac9ee60dbb14cdf422ab7f2bc28d671ac9f46
commit eb53e5b933b9ff315087305b3dc931af3067d19c
commit c91d75a3c6a2567e8c6b44f7337b6955596ffb86
commit cbacb1b74400299edea7e9bcd58bbc7c40dad8c1
commit 2281475168d2ab3fbd763c2fd762f99a411fa1b6
commit 2000ddac9b5ce5102ab1b194a1cf91e8af3017d5
commit 833cf12846aa19adf9b76bc79c40747726f3c0c1
commit f2881dfdaaa9ec873dbd383ef5512fc31e576cbb
commit 7f7a2da3bf8bc0e0f6c239af495b7050056e889c
commit 6f20fc09936e786a4ba18f5514fe185e0451ada9
commit 4c288f56030f380acb9572d88396ac15edfd30ed
commit a755947e050b8751fc5402609a7d600e9c756fa7
commit e9b36c5be2e7fdef2cc933c1dac50bd81881e9b8
commit dbaeef363ea54f4c18112874b77503c72ba60fec
commit 0cf09702a118b1c09b694862061913108565edd0
commit a64d5fe490cd92d74b1cf46da63164cefcc61a58
commit a3f91f405aa7c54d0856c1b8698e4ff05ae7d439
commit a4530e20faddcc4ef4e5939f186a8560c71a5e94
commit 634e1804242b0d5d64031199236fb3f337b5af3d
commit 96c468c366dacc0e41e08ac53e20a5025f6ba967
commit aa705f7ec6e2423af87c20b30f0e26eafdfd4513
commit 8f1fe39ded725483a67c15014a1863179c783b38
commit 9d1f218ddce20329a01c46d7a1ea4d88fdb0fe86
commit e40fbf616610e33aba9597f278925b4ae8cc806c
commit e44bc451aa4b08845c238028daafb4eaffb573a3
commit 5c7b393452b55ee0cdbced0d3bc798f6875b5c24
commit f1e6f89506e48b42235755fb3c2b73022697d8e5
commit 4da409ba6430e3b5c6da7879dbbdc5f6717d91b1
commit 6c9e14ee9f519ee605a3694fbfa4711284781d22
commit 688c43dd6ca9e0cd0568868aefca5b041695c3f4
commit bb99c51bdaa846bddb85a1e7acca3a3aa5e9f082
commit 3663e2c4bc45fcdc71931fcbfcbfbf9b71f55c83
commit d97e71e449373efbd2403f1d7a32d416599f32ac
commit c0e0bde2c7e6bca2a1f195d82ef7598d521399e5
commit 146458645e505f5eac498759bcd865cf7c0dfd9a
commit c3bc97d2f102ddd5a8341eeb2dbae2a3e98bb46a
commit 53369581dc0c68a5700ed51e1660f44c4b2bb524
commit 4f04d07c0a94b0b30db839e44f1b8364a1b508ac
commit b6b242d019ed23195c81cf00eb8290d386efb83f
commit 717b432b6d55e1dcefcb5e2ec315bf66b6ab8c54
commit 21e97d3ca814ea59d5ddb6a734125bd006b66a60
commit 2009e808bc3e0df6d4d83e2271bc25ae63a4ac05
commit a4172af3040cdc207f1b60efffcdd219156093c9
commit da1878b61c8d480c361ba6a39ce8a31c80b65826
commit a99aff2608f422da833cd91fa1eff23daa05c0bd
commit be1dec570b6f5a29ce9c99334c52bea94c28914b
commit 8d5309b7f67571bc0c95d430f4722a99d38f3b79
commit 843f10ce6539cd5e4989415e18cb809f4cff8b91
commit fceff12e52985e49c464f402e11b2f97bce3cc24
commit 3196763851b5fb9f7c8c488e233e947292cd71a6
commit 8466a14173e5ff7c2a52d8700a13f4b841d0e17c
commit ce9b1466f5a9a1b2acc80d29f12d69559fa97174
commit e60244554ca98e87ef731739f608eac54e478e9a
commit 2796b7ceec95bd5a7069cd27af7e4cf01a692db4
commit 1de99ff7371bc6ce2187081bf5bfbbb4a7de28d7
commit 34d0472ce1087fbf8e2ba504a4625e4c74286c63
commit 60a2066c50058086510c91f404eb582029650970
commit 97b6784753da06d9d40232328efc5c5367e53417
commit 54bf0af90844fbf18f5be3272eda69198dfdb622
commit 92653f2a572505adaf7f13f695c1907e71a1dc84
commit 7c5537cee9a8dff956e3b9a3f68c22af06a57558
commit 7b6cf6c750da7661a90c12642c3a8f141c7c2819
commit 68914b7c4dae0fd59ccb6b8bd8e2b6f5656cd25d
commit 0b8778af8babe55f133b9bfe3a5bf234a36ad7f8
commit 75830999587470b17a30d2ecad25ad13cb272c19
commit d7683c49638c83bcb6a817671bb348dc435da3b5
commit a0ac33cb9a12f1e499c9f009067a3135df626cd5
commit 16c9898ac5ab00fc96efee404a1b8bcfe20ad48b
commit 9a72570491b524c9dc4c1caa7323b2297c27b0b7
commit ca0fb243c3bb53dbbd71d16c76f319bf923ee3d4
commit 9330af0af3d54df71b6b752a260dadef05a4fc44
commit 29d0732f8f61ed028d642034e5323b8cdf6a1905
commit 85ecfdda063b6f148335c354c8b7200a49640510
commit 5d6a620875a04e70c51d8366eccae74d9cef0308
commit 6cc213b9aa34bc3213e20f9256345c5cc1495b0b
commit c7b3569b3ebc53e997500be09eb612b6c852525a
commit ab799c16c9d537fa2f070283f1ca63a4425502e9
commit 675d9ac9d0de765531e94f9fdc536989a997a324
commit 24ffa5bb6d363c8164be6af974e318f5752797e1
commit a00a177055cced5cd2bb057a1ace9a95a286bc49
commit 74bad61c5d83f5af8a855c8b7dc8e20377c74d46
commit d91f93c7a7fb9589e62814c1e229943e1259b48c
commit 946e2c5be80b2cf93be34e28b3a6bdadc8ca419b
commit 3e048c8846a658098d935df83050170c8a8fb104
commit 1cb62da0802c8f08e26443a5409edba99b8a1f6e
commit 8141f21b941710ecebe49220b69822cab3abd23d
commit 9710b84e2a6afde2db20cd33435038eb75b91200
commit 17277da26623d4aa8bdda628d0024cf2f2e39ae6
commit 836af5be1b6d8e93d736c252e711a20db7dbde9d
commit 4a4c815b08dc774dde67fb90a0286925f98204af
commit e89d2fec4cde967445e16e02e406481bac380cc4
commit ee0a469cf9175aeb6131c0476c4a4a8eb5997dfa
commit 67c4ca9f794951482c54a7006c8b3c367d6c3efc
commit b41a382932263b2951bc9e83a22168d579a94865
commit 847e387e00547b0cc728a5e61f5beb2ff861ed1d
commit 62eefd10ac1c7e976bda47ff311bd87cee40ab8d
commit 62ed6f0f198da04e884062264df308277628004f
commit dd340acd42c24a3f28dd22fae6bf38662334264c
commit 28574b08c70e56d34d6f6379326a860b96749051
commit f59902ffcc43ce7e1db5d0c4dfee37ec2a1bae0c
commit dfe9d047b162f3a79ab63046608c693ee14c5b7a
commit bb670c31e13a402d30afa3d484403196031d0fbd
commit dee44a7cb577f2aba39e1713a51e9faee2f65534
commit fd69ef05029f9beb7b031ef96e7a36970806a670
commit 62341f7bc2ccb7c024eb023a05714d798ba6437d
commit 0964fbd59e7131c1bad4c8549ec13a27104f0b11
commit 0345c8bc22c92f3d5fc0287957a96fd214297aa4
commit e9180253e22596991db426ab5b01111c2a739db4
commit 4f842ba7cdd83cba1d5c0bbd15ed9d14d882cf89
commit e1dbe625d6ac2821eb29e087db46cb539d8079f0
commit 507293b1b207e419fc7ea4ff1d72c2f1db18e33c
commit 64a905203fd0da3e8a3f649593cc48c9fbab25d0
commit 792be2e23ac69821db7860ba4ba94592101f0b07
commit eaf3adb8faab611ba57594fa915893fc93a7788c
commit c9875d0a789060facc274dee0d4eb6500d471772
commit 671af06690e7f79db51b475a35c3b2619f345abc
commit 434967aadbbbe3ad9103cc29e9a327de20fdba01
commit 65f6e9f7e1319119096a6dc93e62894e4375b578
commit dd3e296289346109d41c6317124f51aee0269c25
commit b3a3c9a6b27b68310f1d4d486f47556808c7c855
commit 5aacf8917fde5bc2a640f3cd49130c0e2e85e726
commit 7b2363e06c0ff4b868e7d768d605a9e656ff61f3
commit 51d334d6a49629ea03a2dde562d46846eb7d07a0
commit b8dc6ca028d9a39196a3a066b9ef2d4a5eca475d
commit be64336307a6c3ee71fe1337c1b9f0495aa83c50
commit 78c508a1c162c90c48e12faa62bdab8b90e6f17c
commit 41cb5a5e8480fa41ee452ee60e620a4c1de3c323
commit 8151a6c13111b465dbabe07c19f572f7cbd16fef
commit 329ee7087bc9862977fb6e431b8b0ea5e7e261b0
commit 00f06855f6e68954f67616cd5560fca25c755eba
commit e80f8f491df873ea2e07c941c747831234814612
commit a0fcd3df4591043d447bb08919eed2ce68fbdb5b
commit 130376ab8300ef06231ebac4db147f06d601d53c
commit 86598c3819fdc70e59d28221bfa7bc36e9f5777e
commit 57b09a168ffe88a4c088e8f7ca5de2ffbb8fefa3
commit c0277b9d7c2ee9ee5dbc948548984f0fbb861301
commit 92549780e32718d64a6d08bbbb3c6fffecb541c7
commit ecabb5e6ce54711c28706fc794d77adb3ecd0605
commit 4eb0aab6e4434ada240286d934651dfdb2e08301
commit 9cc033e07d025dee1fac178c20ba96c56f8d9a91
commit dae5d79a3bcc3101e1e02a1c2999ca74d1efde05
commit b62ef7e4021f74bb12445987efd8109ccca289c4
commit e102b5ed6e283a144793cab8fcd95f61d0ddbadb
commit a225800f322a3d6cc8b8b6c7dc4d5281f2f5375b
commit 1da86618bdce301d23e89ecce92161f9d3b3c5e7
commit 0829b5bcdd3ba077c408e71e22ac2bfa85bf2c95
commit 17419a5c8c75e1f9de01b094f763ec1c6ad02979
commit cecab0bb737fb74813733f2472761fc3a93857b1
commit b7b930d104c38a545d862896759863d649be8252
commit 6600c55ba0d46c6f2f74eaa6ddfe2b66cb8df852
commit b635066c2e0fcf74428b0864c249c1dbcaa4b5bc
commit 94a438a7595bb5a7a2efb94de2dc818845254e4f
commit 372f244b01784b5ee233cdfd732b4c1929ddd71e
commit 91dae758bdb854367bf0811d97acb84e791764d9
commit 636cdf6fbddff4780ff4452a82afb099292b88b1
commit e422c0bfd9e47e399e86bcc483f49d8b54064fc2
commit f5510726608fa035bdd2f1fc167cf4a0f7bee22b
commit dc06efbb7934405461d95bba5b702849058424a4
commit 9d09cac47de5358ace64dddd14278fea002e68c3
commit 0f9ff361ad823b887cfb09dd78ecc8f25d32ecfa
commit 219b45d023ed0902b05c5902a4f31c2c38bcf68c
commit 5bdacb0907c1f531995b6ba47b832ac3a0182ae9
commit 4e996697a443a214887ef81b008c344d183b5659
commit a857add73e61277fb8f688234c9d383130313ea7
commit 89121e5d0857bbf41f1987c3c6019f4f318aec4c
commit 2eb20b96d7696dc354e1b38c511418b56291013c
commit 549dd786b61cd3db903f5d94d07fc5a89ccdbeb9
commit a86ee96ce819800a399e0260c5ffad793c9c6ac3
commit fc33077765e9104f84b49d9b9e0702a41d5269d6
commit 17d6abcbf6249b4ef22f41b255de2be2691ec32e
commit 885c31382509d13fd70f6a9c42637eb72056a6ce
commit d79fdaef2b55deea0df3fc6af4d4ac60e81a527c
commit 08b5a4798713f4331317272752b27b1c4f6a246d
commit 7d113cce5fe92c8bf0a2e2f19f71762a845e9d9e
commit cae39e60abb10ba1e8cc095b7d5567edc9005f03
commit 6d470f9b8cd3e88d097b332bab3e7231f2fb3dad
commit d27a14060f8501e556a65b346b2644be0d0a2de8
commit 969135862e731620b9e03bb0c21179ff1cccfd0e
commit 5d45c01dea6f9e0f2dbed3ffee02ac2e80579ad4
commit 0dc4fb69eb14320ea0fcd9657b7748eec201ccaa
commit f7303ab29d08a551975aecb4bc6851ac3445abf4
commit b7f317e62968979343a4677ffd5bd91dd3edc204
commit 769b081c18b916e362a2b623d7c28ce761c3165c
commit 9aec6f76a28cd669aa98403883edda3a7981fef0
commit 5c61f59824b5e46516ea5d0543ad7a8871567416
commit b9396b49879b6e3d9069586e39432b2203de0a7a
commit acc4e41ec41fa28ae9fbdb1a2750525a7a242743
commit 39fa14e5bdd037f50df0af408da7251e400b41fd
commit 21ff3a16e92e2fa4f906a61d148aca1423c58298
commit 1da91ea87aefe2c25b68c9f96947a9271ba6325d
commit db639278e6217173c21bf8bd52eff2e9a0d6919e
commit b8cdc47adf059f60a39555eeba1db92c503a5061
commit 50680d1698f4d4c9651822398805cb943b7c04aa
commit ec0796e6446352e9e4ecb1804bf470d1ca47c5f9
commit d408d6f8cbbb5ad92b383f33d091f027f5740aea
commit 844efaef48e846b5310b0e7af5e7578762eb7e8d
commit 34e087e8920e635c62e2ed6a758b0cd27f836d13
commit 237193e21b29d4aa0617ffeea3d6f49e72999708
commit c3c5b79b6ed1d7ae7356b51f7c17bd88197bf405
commit 7a26f18119d1daf910cca58f875582d50d0e4974
commit db1aeaf2a1374fb05d82a1f8fef5cbb059ce6a01
commit a0634663d09abcda84eae37e9817490628a034c9
commit 17674d6603eab37a4f7b1cf5ba345d5a1e275fb7
commit 8df39400d0db29f84a72c891d1f526e3b61a332a
commit 6c22aadbf6fd0240181eb4897308153c2aabec2a
commit b5757a5be2fac24f5c138e8ddb3b2c7be8ba1cb3
commit 446d0f4849b101bfc35c0d00835c3e3a4804616d
commit b7ecc44a1b0427d8c71fe2e2d46c4a8dd6e6f64d
commit c6c2e8b6a427d4fecc7c36cffccb908185afcab2
commit 0cee47cde41e22712c034ae961076067d4ac13a0
commit 7b3a4e1d559e892ea563f46f45c504a60c82d70f
commit 3834ce360067b4ee98fdef14571923500a0499a4
commit 9a12b1c7a0595736d398b24712dc1ce79072662e
commit 8641b817392bfb12fb1e71ebb68c31783297bfbd
commit 17d30ed33c8a9e7b866dd7c2ceb4a6858cfcaa81
commit 020620424b27bababf7f53d00692ab919c357a3f
commit c6dbab46324b1742b50dc2fb5c1fee2c28129439
commit c30fb344a2f7fb5d553e98577185d9f8147598e2
commit 45a2a4514320f9c835eccb661601357cb1fefd82
commit 947c0808693e267185c5471f87f83146e4300561
commit a46a7bef7d41ee7787c246f47a656fbafe02f122
commit 3df34334147e73b05480db6cf8353a405597d04a
commit c7d4355648ffa02a1551495b05c71ea6c884d29c
commit 2f93ec07ab54cae66155d0a09182843f358da178
commit 434b3554d6435dc4e19083a2214dee40a88e09e1
commit 311f2b587461f86e3c30e7ac28df38be4a862ac7
commit 0fe20258b4989b9112b5e9470df33a0939403fd4
commit 596a4ec72876f1061f0ef4be47076b093f03b4f9
commit 782cef7fc367542ccc851d93edbed166defdfc27
commit c20da89edb69f05ab78fe804899d50be2596b0f0
commit 95d9e0803e51d5a24276b7643b244c7477daf463
commit 4af0d8ebf74ccbb60d33fdd410891283dd6cb109
commit 680458d41aa46a009909482f58358205b5c4b438
commit 8c4f9e466169b3e411947347fef09382c14e5733
commit ce4f9f79ff8cfc78a064c533f0aab563a5613d81
commit 1b686053c06ffb9f4524b288110cf2a831ff7a25
commit 66e2d2d9a59f896def82a1c8684368be45cf4c06
commit 07f4f9c00ec545dfa6251a44a09d2c48a76e7ee5
commit 98df5a7732e3b78bf8824d2938a8865a45cfc113
commit bd15f805cdc503ac229a14f5fe21db12e6e7f84a
commit 9b7e697839c2745c10f63fe5fd54c9e328fa2e3b
commit 70f83e7706e57200edb8ffa36883b2f43d214142
commit a1fc9f584c4aaf8bc1ebfa459fc57a3f26a290d8
commit 3bb41f2e9134906e0814766c07dfbdd9de0bfaf5
commit 027347d17a16562f3be272833243b835c21aa2a5
commit cd9e9e0852d501f169aa3bb34e4b413d2eb48c37
commit cc2991203c9d4e23051dbe5bcb1fc700fea26992
commit 67ea53a4bd9d03a85eecd99875a2a794c886f788
commit 7a1eb66809390d06b744aa13123b925b64b54c4c
commit 24f483ba49c9acc1139a0b4cbfd1b122fbe1ed7f
commit 5b7813bc6218100d7bbc6d3a1b582bfd64034bf4
commit d6ed53712f583423db61fbb802606759e023bf7b
commit 12dbb3ed212fc7655fce421542a5add637f8af7a
commit 5ac2557d75f94777076885b5119d3b6755e6761d
commit 17b6527dcfb3249401e037734ed3fd0f4752572f
commit be280fddfd645ea0ce4c7a26692c3d1115447e32
commit 1fd2cf090096af8a25bf85564341cfc21cec659d
commit 8f9b23abbae5ffcd64856facd26a86b67195bc2f
commit 267c5876c977d5f2d5a89f377d74adf42b5c38a5
commit bbec7cea6fa4a0463d4766ed0e6bb347773d3949
commit ef6c2cb349c708676b7820c36a5beb75868ad544
commit 61cffacb3a1c590b15c0e9ff987de02d293e0dd8
commit 42b3a6f12aa56dcf789464d29fdf11f33bf0e793
commit aa02486fb18cecbaca0c4fd393d1a03f1d4c3f9a
commit 35c7152202e111968b10140383f49da9159d2704
commit f83cec3b3a7c968bbceb810b7acd1baf3fe8cd87
commit e69c2dd7534f3fcabf7bb801db2a7ac71e7e5da6
commit 9c081c11c62112f1c30ff2426f755279a43fa1a1
commit a85c3db6b3b088f63b5b8c4fd4352f56f0e4ce3d
commit 9e823f307074c0f82b5f6044943b0086e3079bed
commit b2dee0837a4be63e8d3e00550a9f057644f962c4
commit aa539da8aff07ab08def6490e8c9b441439e70ba
commit ea5d6db17a8e3635ad91e8c53faa1fdc9570fbbb
commit 98cae695a8ae0e4291b1fa7feef9b54fabefe885
commit f7fb9d677faf0460131bc2af15afd766d48a1f47
commit a7f670d5d8e77b092404ca8a35bb0f8f89ed3117
commit 6a28a072d90e4543b5e07a904e3a6afad0117e26
commit 1091796fb1d9d6888656f2416ad5c99cfc62a4bf
commit b232c4a63a176ed837e3c6bb4a3ac79a1ca5ef1d
commit 98aded657f506cd5d6d459d68ab4996d9dc0938c
commit 1d734a3e5d6bb266f52eaf2b1400c5d3f1875a54
commit 4b498d19610c6acd36a8ddf622afdefe4ab093fe
commit 5ddb0a8aa8e4754a8fb77e284e0d6f46c2350f88
commit b080a60731ad909eae4463684acc23d322e93579
commit 52e371914ed37f531a8d8c3b4cf1a1af2753eb6d
commit a884dde8d9b6a4a817cc39663db824e5602a8001
commit 1eda95cba9df35f1fb0fb4b89511beb6603c614e
commit fde7679a2b374c8c0932f5cc48438a312f3f442c
commit 29323882aa48fc9f273db5820babf32c979359a9
commit dfa5543193f303a7270ec7c725e656970faf7d57
commit 202b85da0a2fb6f034f0290af841e0f29352af9f
commit ab0d6ef864c5fa820e894ee1a07f861e63851664
commit f0ffa657e9f3913c7921cbd4d876343401f15f52
commit 4551d60299b5ddc2655b6b365a4b92634e14e04f
commit a98a1a3c448820dfb3974839e1ccedf80b6fcacd
commit dd925902634def895690426bf10e0a8b3e56f56d
commit c7085d08c7e53d9aef0cdd4b20798356f6f5d469
commit 23ab1cb6591dba7c97b65eb407cd71147bd878b8
commit b0ee81dac3205db1e01019629c83595e9433d96b
commit 8d3a2d3d766a823c7510cdc17e6ff7c042c63b61
commit 3396900aa273903639a1792afa4d23dc09bec291
commit a809b92ee0f84c3f655b16a8b4d04bc3665d954a
commit ddda6542c85304eff31fe433cc0fc2c0d03c8f3d
commit b3a901841ed1edd65b2f4cb9dd890ea1e2fc7551
commit f366d8804fc58f87b682bb02e8bf970b08e5df7d
commit 21d6376865219277ca91bf95f9e54494c1ea7ae1
commit 7f75eb222d5c8c4b166ff99a38c85a3de97e0647
commit 649ae0e0d55f6d432ea73298929560ecdfaabd05
commit 34aa0a87f83b5322bd8541cd9534179c90c580d6
commit cb2f92569a2b7809a0569b380b9a6f2afa368cb2
commit 9aec90f9e545fba64ca47c18c37c588fa0d71b22
commit 1b9e8095fa3ac29e3a00ba1326976b479fd809e0
commit c6cbfc18138a22cfbffb208be92b18a531233528
commit d0fc54a201d673013b031ebce32e5d8a7e3bfb70
commit 6276706f33cc38ec59ebf03b680240ff74740c8a
commit 7d085bb17e3cab501218a7a4604aff6c4a8b9585
commit fbc64aafc99baabe4d4e4d5a58d6113aad7909c7
commit f76506358078809461866086c5e224d949002016
commit 2e5d47fe7839298fa096970e184aac9bf82c3bd3
commit 5a891a0e69f134f53cc91b409f38e5ea1cafaf0a
commit db3461a7743817ad7c73553902231b096616813a
commit ed7171ff9fabc49ae6ed42fbd082a576473836fc
commit 437ad4534a15ccf538ddb440cb29d3f445251605
commit 8a0f58ec4728ec04c654645bf8ed4070821ebbf3
commit fc7c7498db3da52efe874029a9c2ccc0ad2646ee
commit f9e491c8633277d5398f384cf1fd1a477e04363f
commit 37ee1456239cc5680f672f37417e52db2349965b
commit 406792dc2a5c82e2f312e10c3c2c887de6ef80a4
commit 57a372f67688dc7aee23a2a00bcaf6188f592934
commit 15789fa0f0e29cf802f30d0e308da9c6b18c116a
commit fb0a5834a338329bc665c7ce2b89f3e376557565
commit 5fb4d2a77113d3ebaa5c9dcdbef8b7bdfdeeffb2
commit b5e1a3874fe3cde73a4b02870bf3e8fa43777c5c
commit fdbd69486b468e4963b4ef9f76901d3788252dd5
commit 5d0112f77793c0351faee6c723a6fb9191c12be6
commit 6f38589e170f7649bb4b5efbff6b681c31433440
commit 4c953e53cc34f8601b7b7c6286c65322452d35fe
commit 186020c16650d6f7a05774ef318ae9056aae4f21
commit 2e9bbdd7b7cb5f364a917e7c6eff2a2c36f11895
commit 4dc4422f11b041a9cb7a86f2f9bc310e48620fa2
commit 31ef969301e58daaaed1728690e16192b77b9028
commit c4f503551fd65e50e657219c9bfc2987c51805ca
commit 27ef61f9617478c432bc477d4eed8963deb89f24
commit a48f31fb78265d992c75d45bea215998367d4956
commit d082e5cde489caf7b29e966a9dbbc3fb43fb9164
commit 3ec2ad7c34c412bd9264cd1ff235d0812be90e82
commit 0f2c243dbfa008cec2dad03ea074156b6b176a03
commit 89ec85d16eb8110d88c273d1d34f1fe5a70ba8cc
commit 3fbaf475a5b8361ebee7da18964db809e37518b7
commit 20588d5afce3992ff4fc9b61085e3e1affbac620
commit 27a74c125d029d0606b81ef865bb68dd975ca2f7
commit ab10f7748789fa9247949b530d8ee7d56eafe9a3
commit 6d88c0f94ac07ffc9f08e459cca036f4af08617d
commit f685b38455b0c990a0f018a17b238d8ffb5acccc
commit 4af8071b654dbd9b8bd003ab8e49eb16b4cb9fcd
commit d479158f6502a3698b91829fa03bd3f2ea38efe7
commit b5be054c585110b2c5c1b180136800e8c41c7bb4
commit 76acba7b7f12517990f326fabfecb6f55e334233
commit 478efcb90b074f0fdd18e62b30ce09140bd69022
commit 5b7a59de4845460a313d93d4839258bfb982357c
commit d4f1fde734eb73767015272dd2e8af1440b30a9b
commit 32aada4d0a35ee613ffed23090bc23e1b40da419
commit f3c958ab857927e1ef2cc6806fcb0eb3f36c923a
commit 8962915044364bb7c36b3018f74371a798aee46d
commit 9d87dac3f9adbe30d545c577aab483dfce71143d
commit 46553db49cf7b7dce95879ee0725f7d95de3c184
commit dc57edda816df4fb43bfc2809675e91d15994195
commit 3a50a51d04d2ca5066949073274e70191104f8e5
commit 439c3b124e9ee704766040d5182ccdaeb4d45499
commit 837cc7f1bf2bbebb05781efb6bc1b10d5c2e9308
commit ef9f3b5fd9d2594766c60b1e12b0e72e4918512c
commit 2239aaa204f1c5002018a02903df7e45a0e0e503
commit b910cacb4e70066238feafaf3f2430ef2c8c3b12
commit 0eea81ee2e12900bd5276558434b675b52ab2d5d
commit bc62abe1b92db4e027a92a6799f2193bb93970ea
commit 1a2103d68547407a098c237d7cade79b4ad2b88f
commit 2dc3851ef7d9c5439ea8e9623fc36878f3b40649
commit f49280ffd254e718ee01ef515fe91854fdf005cf
commit aec773a1fb0253494b85b073f46a0ba1d798b726
commit ee7a846ea27bcbef5182d15923339a7bf182ec65
commit 96595204195d7e13736a84295e217316610d4cdb
commit 19cff16559a4f2d763faf4f8392bf86d3a21b93c
commit 0523374e303051c94457df9170f12a752d8b09cf
commit 852856e3b6f679c694dd5ec41e5a3c11aa46640b
commit f784750c670f7c5ac572590ddad77a89b4c997bf
commit 3dc6da76ae55d667fca2c9f9497e8ea1a27497b1
commit 7970cb36966c9b9183255dc097ae0446300eebcf
commit 53fdfa19e6a9220a14c0bb21273880774ea70dbd
commit 7f0d7bee2079fc899c8280e177b0c0feb8b9debe
commit 0d92cd8935a3fffbbfee0fd59cdc89ac5167b14a
commit 2750ff97ee385b85195c5579ee911a551fbb0dd9
commit 770bd1d341130ff38feda169177159cd78389cfc
commit d16ef1a18e39a5086a419d8b3c71adb30273881a
commit 226d92e49a7e7a7f5a3a37a34df7c319b72009fc
commit 4099cfda9dd856222d7cab6970a65896375616d5
commit 6b77dab5da721f2fa9d3c3611e1cbaead8030706
commit 7116c35aacedc38be6d15bd21b2fc936eed0008b
commit 492be2a070f023c66aaef6ebd664567fda28c2a6
commit cb8f81c1753187995b7a43e79c12959f14eb32d3
commit fe828fbd87786238b30f44cafd698d975d956c97
commit 737ad3776343f6fcffee9d0d849dcd6f6b25f05a
commit 11c742bb5a26d4adc873f6e6e2b69a59e1eae285
commit 8a879141dcd15d2db876ce3adf88b9b01650b7fa
commit 6841a26e2c6715dc52a1cdd888e958dd2a92a5bc
commit decbfaf06db05fa1f9b33149ebb3c145b44e878f
commit 23683061805be368c8d1c7e7ff52abc470cac275
commit b9d228a5b2ebcb1f1f63170f5b20bc2f9d276168
commit 00b8a47d8ebe0419e649dc81b96033f6db6a4746
commit a055c91ac6ea493c2508401537e8732dd2a7bbf8
commit 6a60273a0e8274820210abcfe7ec0d5f1f38f458
commit f7c4a15225faeffe1e9f9a752097e7d85603ffef
commit 91a759d402b5c17263f82097c647e784f217e2d4
commit 97d1f449c359207b2fb5bc62eaefb7e21ad619ae
commit 64ddf5123eff2edf47202e08744c3c14a9d28f59
commit e139c0eb22ce5b2ab6a2056c1ff495f3a38322d7
commit b61c4bc674c6032827f2682a0c72ff577c36143f
commit 1453323eac4f13817a07f40e78e76dfc635aab34
commit 7586fc52b14e0b8edd0d1f8a434e0de2078b7b2b
commit 3338e4f90c143cf32f77d64f464cb7f2c2d24700
commit df2dbc925fad3274b952b865f85d26d1e056c1cc
commit 60db6f540af9f93144d5039140aa2ed17171d168
commit 051c86afc342aed1f84d66ff5d09dc9e1c1685a1
commit 04b5b362bc2a36f1dfe5cad52c83b1ea9d25b87c
commit dba1a6cfc311833e10df978f07147ea93b7045fa
commit e189be9b2e3820c88164d95090f1fd6343cd77fc
commit d361ad5d2fc0e4d59d5d538092c9b37889756642
commit 22ff907d4f0457b2800f4c6d4f40d4d4d31f7de1
commit c2e70d307f4491ff970208a41cce84c95771f340
commit d4c38154951b2bff6bfa4d5eb56df0bd08703cf9
commit 335288315af18c0def7f47a37fe7eaa782c98f6d
commit b1f49ff9cbe14264c7eb33462fb700c49c7d91a8
commit 234eebe16138f94de3046f60c52763dc17fe5fed
commit afefd6f245024684fff75100052065d6a9e8f75f
commit b710dbe55dee946d82bc4815c40373cf8a391581
commit f846250b8a20e6c1225c64ce87a90d4f29cbf351
commit 87758a0ef12cfebb9fab8ef1d0e234dd7b3f4579
commit ccf8ef6b7506cc43e7fd504a85465c1c0786a107
commit 9a16042f02cd08bbd0a5a2d8e9c95347717165a3
commit eb067d65c33eecd4b81771384183ad42eec259bf
commit 18ac82c26da45d033df7eb993139da83dd53ee68
commit 9de60462cdba60f575f97ca2655533b35273c715
commit 8783a18409b48455b3a63f0cd930c7c88beee93d
commit 7c9cb6d1bf122fdac6a7d51f7dd8cc2d8c94b452
commit 4e9e50b6aeda3e3ce727453c5455cf08c68dac8b
commit 272e6aab14bbf98d7a06b2b1cd6308a02d4a10a1
commit f327189389785b26e49904a7d3ba0c96506a4586
commit ec9e2e7acc6dabb8f00c2c60785931310caaa883
commit 2344413205521775d3b1d418e5659e3ae3bc263f
commit 20b5a8f9f4670a8503aa9fa95ca632e77c6bf55d
commit d07722e1fc749fbd78992650b6d00c9a2619be70
commit e389eefe34cebc6219dbe76a923b342b2f31e3ba
commit bf2bc61638033d118c9ef4ab1204295ba6694401
commit 186fb12e7a7b038c2710ceb2fb74068f1b5d55a4
commit 88c511dea151b931ba4873119b1b3555aac0ce53
commit a9556637a23311dea96f27fa3c3e5bfba0b38ae4
commit f15e5587448989a55cf8b4feaad0df72ca3aa6a0
commit a8efd8ce280996fe29f2564f705e96e18da3fa62
commit 609d8b1c422cd8d1f93bf526fb236f2e07687e7c
commit 255fc1703e42321b5afdedc8259ad03c7cc533ec
commit 32a42c93b74c8ca6d0915ea3eba21bceff53042f
commit 77cc3f6c58b1b28cee73904946c46a1415187d04
commit 4cce34b3835b6f7dc52ee2da95c96b6364bb72e5
commit 5151fa35ae5979821d091b80096b4c790b187bac
commit fca0abb23447c37a6bdbc76798c24623a9b69a11
commit 40520283e0fd11237ed9dfc0991503b3403d5fa4
commit 321d6b4b9cbe3dd0bc99937d5e5b4d730b5b5798
commit f6d9f39f8d9167627bc0f9e3e12ee0100c1c1919
commit 80431c017f745a818ea45ae6a8373b737f73b1a8
commit f89001ea41771fe94005920c363dee43e8078bec
commit 0e35457eb4b75f2bc9eca58a46d12e200e15e47f
commit 770a961d581c577b579d8d38414b2bfc0b4766c2
commit bbad0090b9f4735e35e9881278b7a353f71b43d0
commit 9e7a74a12101bb07ccc22fb180c5e44051c5a407
commit 44a37ba12857c78389cda176c093967406250cfe
commit d20c2f8464280550aeabd2766728590cf0ca8a4d
commit 2a2391f857cdc5cf16f8df030944cef8d3d2bc30
commit 5e9c0d1c5ea355679f5b2a57b0c1b5932d78719d
commit 11df68c265460d4dff5d19a1313f0fff69470f98
commit 453afb1a439994deeacb8d9ecbb48c1f2348ea0a
commit fa509a33e34849cce6c17f969991dc87a864fbde
commit 7bb98ca6542e19a9da7cc322114bb4867acd9614
commit 85878978fcd2812eaca309ead436bcd38777f6f7
commit c8fc8346bdd097d624771e606aef93644c072ef2
commit 5a48d67ac336436ed4a79c1c9e036a409b502329
commit 4446387572fb7952a387b8e45e8a96b4f08a2a53
commit dfc88eac97e2177844e5dfa877f2ff60c73bf507
commit e0446e122eae43c173d0c99375e1b2cc8da009a7
commit 168448111279e639e3296ee5c19e0cd96756422e
commit 69f0925c67c21c1e3ccda152d2b6ce21c363e563
commit 244fe1666364865154930f34d8df5489df1922b6
commit df99acc7ba1be9f111debdb75e00539fed8ad21a
commit 6dbd43dcedf3b58a18eb3518e5c19e38a97aa68a
commit 6062ea9398d3ec09c521774f9d81f604d1a85fbd
commit 0567f18e0757a260031e59487fe01f402c16c0de
commit 8b5ccc9743ab026b12075eb5e3883cc9e42bc683
commit 1144e0dff5e68907cb8d3e2d64d1c00e2a96d1b2
commit 136367290ea5d7b5d05696189e9fd6162b9d9742
commit 15ca09499bc669b600dcdaf01fc0bf8c55e15b35
commit 34e804220f693fe6bb1c4e50f27dd855e9313f0c
commit 919bb54e989c1edef87e9797be125c94c450fc65
commit dd6ded6e87a97a32e06c10b7f6639eebb779257d
commit 58cfea648ff3b3bd283c03f094f24d379fe6fa82
commit aa451ae76fda24f919174a17df31c290f91a953c
commit 852791985af63bcfd66d7f6ec160cc5f9fcb020a
commit ab0b0eb5c85c5961913bdb9b8011cc8f5c14978a
commit 065ca63e161a1ed7e619ef7dea0c7c6435ee2f8d
commit 1c8f80c2aadf76daff01ab133fb11136e7248746
commit 6133cf70725049344a679f85df27d146a2d995ea
commit 4b570ac2eb54f66ff64f2864be6303b8d67cc7f9
commit db6341a9168d2a24ded526277eeab29724d76e9d
commit e28604d8337eac97fa956d6682b6312741ce85a1
commit 01bfabc2d1d8aaffe5268f8df0843a6d916dcbaa
commit 75f0efbc4b3b088cca20864d055b3854a51b5af0
commit 8f4eca6ac52a72181b4f054d4ef6289a5d8cfa5d
commit b05d6476ae2dde8eb447f907ab689083499edeaa
commit 40318a2406bd426c6f4591269669c04e8eda571d
commit 988bfa0bc67d7220ff8d9e2ba3a425727aa98af3
commit 0e405395e0b162075001b9c027443dd10b723a03
commit 570867ef90550b01f0ca0f919dba308c3f2fb605
commit 2845f512232de9e436b9e3b5529e906e62414013
commit 4416377ae1fdc41a90b665943152ccd7ff61d3c5
commit 73dd0ad9e5dad53766ea3e631303430116f834b3
commit 875ff9a7ee8824200885384effa7743892a34ed6
commit 010cc730ace807c6d267481b5fb6ff99acc35c46
commit 6ef29715ac06fad7b3e43086cb4df97952c3a4de
commit 3376f922bfe070eff762164b3fc66981e3079417
commit cb5164ac43d0fc37ac6b45cabbc4d244068289ef
commit 537ef0f8889761ffe3a6cb4a7bda4de47fe2d69b
commit e45b6716de4bf06b628a9f3559f7fc8dd5e94d58
commit 58a261bfc96763a851cb48b203ed57da37e157b8
commit 25ebe10e3f4c897a2d348a9d4b674ee9ea28225c
commit 5b993d00d7f0c970a5e5d34c1031069fb13b6986
commit b5de6a5ced074910b8fe57d3b0ab7f8843f85a3a
commit a323782567812ee925e9b7926445532c7afe331b
commit 6eb2aad402cc94ab4dd3780d8fd94c5c9bb7ed4a
commit 501d94389310bb282915e730386d1150b13ae321
commit a64e7e5b05e014dad9ae5858c9644d61400ec6ef
commit 122824165471ea492d8b07d15384345940aababb
commit 66a0f6b9f5fc205272035b6ffa4830be51e3f787
commit 6628851159c77cf5666160e0272d46acc0772a6c
commit 3126d5fff54368288e7fe1c0fd4ecb36b868e5aa
commit a4dbe45c4c14edc316ae94b9af86a28f8c5d8123
commit ff9c674d1127e768050fe418470e74586985c87b
commit e24b0ef20a20cd26a770c66bf87d911838ea00d4
commit 65112db0c21022cb1caed5a03c6392eaaf984c14
commit 4836c6cc01a16f1ac2b436550299474ad7183c46
commit 6729c73103bd7a0e60b0c980b51b5434010b4502
commit 1b5dfd1881dbe303536d4167500b94549ff2f6a7
commit b330f148017251810fc1f0c297f51b3039b796e0
commit 594cf78dc36f31c0c7e0de4567e644f406d46bae
commit 51394119f640423858a2f04076d6f1c3e83fa715
commit 67733d7a71503fd3e32eeada371f8aa2516c5c95
commit cf4d37b8157ca085c17fdc1faad737465ff311b9
commit 22bc22ccf95bfa6eb6288ba4bc33d7fc0078381e
commit 5fbca8b48b3050ae7fb611a8b09af60012ed6de1
commit 45c4d994b82b08f0ce5eb50f8da29379c92a391e
commit 071d583e01c88272f6ff216d4f867f8f35e94d7d
commit 037f93434ce9aea3dc19ba2d97e888a12e538f7b
commit 54f90b03335916e21c417a31d0926841f7d97c56
commit 9c57bc08652a7c8e0e355c52c023fddc090fe9bb
commit 002353a537a29b9be5bde3c1d9964628f0d20d45
commit 11b7309dbe9fa98d9b8d18cd51db4f385c37ae30
commit 19f01d4bbe9daf71901b200ab5c52591946b022a
commit 8a04e342684a75ad1455fc3f23fab8e67c1aa9fc
commit f9ae00b1cfb37ccf57017bf9cd82712ee0a5316b
commit 3f53d7e442197b7e7d56b470b02dfd37a8bc5c46
commit 4461e9e5c374f8c11fee8e4a0e3290b072cfd538
commit e55ef65510a401862b902dc979441ea10ae25c61
commit 01cc7b2e8a59fcae0c4493720561e5b33a195fe7
commit 014125c64d09e58e90dde49fbb57d802a13e2559
commit 04cf420bbc32a599aa2481725f708435ea19bf3d
commit bbb05f8a9cd87f5046d05a0c596fddfb714ee457
commit b932d5ad9257f262a0bfd1bd7146120b0adc11a7
commit b86a6a57b8ad1699ba8b1c270a79678383baf632
commit a08d75927f99e57c793f3a5d11260c22893fc0e9
commit 3d054c40766024d9d8fb051d017ceacf2b795f1c
commit 5d666496c24129edeb2bcb500498b87cc64e7f07
commit f0b7dcf25834afd17df316367dfe5d4c890c713c
commit 949237a34dba3f0218857f5afa0dde2076dd8c82
commit 6dcc304f85898b099b35c63748c5e11ba56d0c8a
commit 87d23164d89c3898a0acb4ec0b431e787c27a91e
commit 6692982582a54e7ecc80d7b0dae5db6cd47e2567
commit e565b6b0b5eee112db803bd955fb0387ce952d54
commit 4437936c6b696b98f3fe1d8679a2788c41b4df77
commit 9793a4a6e5eb8764c7410c361984ed01722bab9f
commit 6efc0ab3b05de0d7bab8ec0597214e4788251071
commit b4148dc2fa062cdb94b5165d39827bcb1a3daa28
commit 1b0ce903fe747d72e9eab86a06c79fb2c7ba2bab
commit 469a486541b6eb0d695a5558e68851fef35c16f7
commit 38d6f7e27d318cf41c2376980a105d02ac6e8b16
commit 3715112c1b35036039e8c4f75868a0b56a71a51d
commit ff95eabe57368d641589441e8f638b4d59f79a82
commit e45a3933bb3ebd9a2ac95b6b60da029ee3a9f4e7
commit c50fe289ed7207f71df3b5f1720512a9620e84fb
commit 97c6efb3649724e6163774f0e7405c5ca8b1097a
commit c66f4711f79c937832b6c0e0b1805061667d99ea
commit 727eb1e3f014e66dcdec53afc6f5bfe0d8c0871d
commit 7546a8201ba288530ed1bbf2a8bdcce5e034a234
commit 789e51597d33ec0053b029127d797d86c0d857eb
commit 379cad69bdfe522e840ed5f5c01ac8769006d53e
commit aec8485f226c36eb4eea1d489772cd6f2c40144d
commit bad928d2cae5d4d5ec1474ae7428a797fb34c111
commit c72084163cd22ebf59d936669ec25b1fc2b7494c
commit 3adcf970dc7ec0469ec3116a5a8be9161d17a335
commit aeb4ae66cb50faddf60be9297d0d5d392aacdd3e
commit a7f657097e96d8fa745c74bb1a239ebd5a8c971c
commit 87d8ecf015444c51ea9d9154f633f98b7748a724
commit 33929707b808ba7839c40c15d3e68cbc51070b31
commit 4548f10bf4c67b569b7c9fbc6746340a558faab9
commit b71ccff68ef1a5bd1c02d0fca01ddb3d9088329a
commit 175d648be98bae22eb22444377dd9a0c497c9d46
commit e0cb0c785250d0565c19ba17fc95bd7ab97670ba
commit 076403a69837c1f8454ceced3ed6f0465835f4d1
commit bfbdf72d6c145e008805f0745ff79f9b8e301e0e
commit 33eca84db6e31091cef63584158ab64704f78462
commit 84addde447fd9d713e101437db0d4924855eff4f
commit 81a1c37c8b52eff636e77a794d0f0620c3a40af0
commit 21bb04152a18ac2314ef4186b6dcd46f1b847354
commit 70a65a5de23337c0c0251c482520224ac80bdeb5
commit eb4556f25fb4cb3a005a93dcc6dcc4b0c024f5f7
commit a69dcaf9310ab09ed97711e0fee08e59218ed8a6
commit 8d5ac8efb6d94efda53f604fd9c072b4754a3d85
commit 2039809783d630c1022bb3debe648abced7861c4
commit 06358ccecd75bfcd988f347f79592e23159aaaa2
commit 51e039542b87cb649d50ea3b5cf90847be32a30b
commit 44378f6ef2efee3ccfa87de5860662f2356bdde8
commit 07226d09a200b92797afabd3a5131a0b504344c1
commit b5d4657e192ba7a3f21fc397cf5d169982b4ec0c
commit b2fcb48214980adf6687dda84fa33f01e9a47e28
commit a74549dd55d21612171334fb70e45241d0ce0487
commit 2160f6f6e3cf6893a83357c3b82ff8589bdc0f08
commit 7293859c51e1d7f923073aa46e2072333b3e143d
commit f7c2ea682d8ba17bfd37abd1e734348e0cf46c99
commit 5ee2d63ca1201ed23c6595cb2fc927222215bce3
commit 7745a1dee0a687044888179e6e7fcd6d704992a9
commit a9b67c036c7f5d187fb88eb74fe04dff1098700f
commit 7c1a2d8aba6cadde0cc542b2d805edc0be667e79
commit 6122f5c72e38a88eda13c7168e2ebbd3bd80b681
commit c67db6a6a6be4bb1db1b0fd5b24040d68e461cb1
commit af76ca8e180f38a7d874c18cf810707762766627
commit 30e8f4c2bd532c44af0e0fad9c04e7d2970b91a6
commit 28d43d0895896f84c038d906d244e0a95eb243ec
commit 1e487c9173ca12ae372f71a5f5c0eb57ce0ab108
commit 1125f95cd2455b51ad1c16d7f96ae39117083d20
commit 96316211eb5c4b58f34099e9e6f71fdfad7af01a
commit 52491d97aadcde543986d596ed55f70bf2142851
commit 6c0a7c3c693ac84f8b50269a9088af8f37446863
commit 02a416afbe127b1c9ce85ffa340c0a32dbc53184
commit 70c33a2710cd08a4be974a1c7f9cdb5601a8806f
commit 4f7d8da5e349c1126cdfcdd2ceede00382ad2ceb
commit 8bdb468dd7a5d17f8556afdd4c8d046939ff965f
commit 6d0ebb3904853d18eeec7af5e8b4ca351b6f9025
commit 641bb4394f405cba498b100b44541ffc0aed5be1
commit 16ba2b28df3a83443fc6b4e5491189d2e5caca64
commit 65fe9617a1256f0a36696d48f7c63a8d3ec290bc
commit d69300abc2dec930fd280a013984150ae7c6a386
commit 2bd87f0fc24ae29ead9808d341497f465b339c0a
commit c5f728de696caa35481fd84202dfbc9fecc18e0b
commit cad08fa7760ace5e01b24c6f9e1f918fe72324bf
commit 3034cc8107b8d0c7d1b56584394e215dab57f8a3
commit 20f61c1ead989e5d16f35bd0a546c6233b703b69
commit d7eafed3223af19add14b67a390ec2b983d890e0
commit 2bb3fc536d692d43cd55396ecff73c7691eeae85
commit ddc94d0b17e8ea8179ecbbefacac3fba0fb77265
commit bf758226c7e6927f1c2c34fd6eb2cb580b77f543
commit 590b9d576caec6b4c46bba49ed36223a399c3fc5
commit ccbfd2df3018e2694f750abe5e93b647a4eef5b1
commit 83e5af5997554115e198c2e9e97564702eac04a6
commit 6a2161a155f92985b21e38a9e8b9217f620d606f
commit 14ee9fa87d8c96b23d77397b684fb431c5bc2677
commit 3eac4684ecb5ea696bd283bd7f35e4829973f4f8
commit b1aa0491fad27f030c94ed42c873c3f46f5e7364
commit 8906064715c16571e691f67c2746ed1bf1bda6b9
commit 390fa93e6efef330baa2785edc2a484f7ce0b292
commit ad17b124c3a08241da36eb94a6f076446432743b
commit 6f4835f9df2df7eee0af74c850d0a06166c199eb
commit c66db9e9a025006d729c87143c3f43b5873b4a1f
commit 988fe2862635c1b1b40e41c85c24db44ab337c13
commit 0ba3cb8e7cf08223a9246ded3c1bee25a74d1f7f
commit b3e9bfd86658b562a33b1ee8563d59a593327aaf
commit c24538c4aa352b68bd5c429b7fd3ccf4d4407143
commit 8a060e9c17d0fd7a182e335a52dcb5fe327e3d86
commit 6e8410944767381524544390ce030c86f07399da
commit efaf15752d113e81a5e9f25f57dc203f7c3007ab
commit fc5da5c00c0a4880220f6f539293e49c766fb93d
commit 29d3d6af43135de7bec677f334292ca8dab53d67
commit 9888773753333ee7bed1697abd6fd9c84239cc4a
commit f2ea269bd2a55c4a28a9b825424b059a20259793
commit 072b4414784524b6debda1b3b2ffbf10d66095e9
commit 7d8e9e65f23040b2f9e9670bc971d3ec8fa69d47
commit a10c93931b61b22ff6601f74192151d548b0b14b
commit 1741281a157fcfacf46dbb6ce39c13bf2699d371
commit 2f3806f781421ce6dfa60471eb2116627c0eb893
commit 097af47d3cfb99ee02afbdd7e0d9596eb012c65a
commit d1f214432110748603dd310fbe6099df875e6f04
commit 2480599890296b386839bc53367c10f19d97716d
commit 8fe4fde381a103114903f823c6d18457b4b891e4
commit 8b2429a13feaee01d62bc248417343586f6fa489
commit 01b4ae38e5dc6798c6cd477be9c363c5ae45fa7f
commit 178ad0e280c088f5abfa61793cb992fa120d1830
commit 4d5ddfa4b1b2bf1e936b8d38735910480f9545ed
commit 01163079e136e6d6ce4474b964b8a7ec954cac81
commit 1a1995b1dc948d471854360ec0fd3306f54dfbae
commit bcee4c3f89879e15ef57f3217ded97f00b1334d3
commit 01d05521f7e2523045d3ff7b857dd68db276d31d
commit f8eee864ba5cbe1447a68949883f69228e53b138
commit 21818f39beda2e843199e5d8d9e3f9e43c8080a3
commit 3f2d35c325534c1b7ac5072173f0dc7ca969dec2
commit ead60e9c4e29c8574cae1be4fe3af1d9a978fb0f
commit a1498ab229ca16dfc35331dfb309f8e28b84bb5d
commit da6ec743397702e0b551bcacfeaa48829d303a29
commit b3b91369908ac63be6f64905448b8ba5cd151875
commit fcba2ed66b39252210f4e739722ebcc5398c2197
commit 9f6b47907e2d01bfa90c3003e42b6dfeefd8d03a
commit 059f6fc89968f4f4527f1b706de8017d368ad9dd
commit 1138137c2c48f036b87e80cf3905c1acbff6b0de
commit b34b43f9cb45ac15b0e48b5570af9e074959dc68
commit a954e0a26146c465934f4944d49cc03324747917
commit f70e43763e6a550f5b50ba4f6a0d6aef5121ecba
commit 402bd11a5394636b2bc9712a58b97bc3cbca69df
commit 631ef2e6adb0aec8d639dbea17c5ed08c8364df7
commit 8a37cd4dc50e8f29168dd5bc766ba40a1968724a
commit 41a46296214fa07cf5140c9ac9254e095bdcb960
commit 7134cc23fe73f4ddeeaaab9284399cebfd826c51
commit 963ed4efe0c6416f5a2f61e107ee3a27f0bb757d
commit bc947d9a8c3ebd207e52c0e35cfc88f3e1abe54f
commit 8da19441d0a02b53e362df81843bb20db3a8006a
commit 34bb7b813ab398106f700b0a6b218509bb0b904c
commit 7a199557643e993d4e7357860624b8aa5d8f4340
commit 596a7f1084e49cc65072c458c348861e9b9ceab9
commit eb7205b7cbff5f9ddafedf82b62590aae0a72dc0
commit 4da5a95bf125fd682249f60e296455c6413b4e10
commit 4453808d9eab0461dea338e89372ffc4a3c50acc
commit 4c4e9cb58dd75c87300ca63307ef7d4f9656eda0
commit 7b17e8f3a074ff4558527f6c595f49444a2c6fa0
commit 0126c0ae11e8b52ecfde9d1b174ee2f32d6c3a5d
commit 2c7795e245d993bcba2f716a8c93a5891ef910c9
commit 6fbbb660b1d423a777d7567b7475a6a01aa7fd91
commit 760e3c8b3288279841aa8a71e6d65c67a3934d01
commit a3cc326a43bdc48fbdf53443e1027a03e309b643
commit 0607a50c004798a96e62c089a4c34c220179dcb5
commit 4481df364d2038eb4a8f5150367b47955940f027
commit 5359d5bc975466e8791d7f870ea4a96f1b0973bf
commit f5a972dfe3e993f09cf12bd36389a942ecd23350
commit 2578487ebe6ca34fe9cd950bf68e8158639ddb1b
commit 559a285816af5b72284a6ed65eb82a68ee497d60
commit e146a7ab218626827b7c06e189e69cd2abcd1d37
commit e8397d327e7b0d6132197c9d8fd7977f84f3dbd9
commit 01be2b62c0f3c66832472ed3e48e61d631094606
commit 101025e94b537e8b5426c73a985b26fc95c199cb
commit 7eafe7a730bad6f0efb62b2d260f1ae3f2d09b95
commit 663b0f1e141dc60ce6c09ae6afc5f213b22d13ca
commit 27f9dcb9cc067d40077e116ac062e185ccd7a0d8
commit 7ccde2e6c0a5e50e11b74353b456bfe602efe6aa
commit 0df8ef6e1b5dc7a6edc6242a95f47a257ffecff0
commit af04e65f6b66339080fba0d5f44a759647371652
commit bd7c8ff9fef4b21a97f9b30a7364845ee6eaaf23
commit 2ef8d63da81d9e89cbc1eb4867d638f88bf5dc78
commit 2f7eedca6cecbfad52d5b52c1550066d9252c947
commit 578aab4ecc73476393389440724b7a391cc0cea9
commit aa47fe8d3595365a935921a90d00bc33ee374728
commit 25d48f2eb0af1f0e6f09f54a1a1716f48c0722c9
commit fedf6db3ea9dc5eda0b78cfbbb8f7a88b97e5b24
commit 88dcad2d07c8d82e6a097c8e74239eb67333bcf7
commit b8faa981a7e62848ca4ba1c77282dfdc71d0edf5
commit b2d4da31a1f40b05a61076efd4c79b88439003b7
commit 6c6ca71bc1653d00623702ae031d0f9bde06a6fc
commit a4500b82bc85f7a15cff0729315c96015849e9e8
commit 4c3140fea6277e1478ba206e8f45b9cf7a128cb9
commit 32bd3eb5fbab954e68adba8c0b6a43cf03605c93
commit 741d73f587d5cc86db5e65cc107e031263302616
commit b615b9c36cae0468491547206406a909a9a37f26
commit f7e3885aa80559d5e497eec18e6909d594497c13
commit 0289507609dcb7690e45e79fbcc3680d9298ec77
commit 0c8c5bdd7eaf291b6f727e98506fb68acee3a4cc
commit 70a6587dca37a3cf12ab323f7fd73266abfc274f
commit 83dcf232cc7919725a331359a300fb3929651b6e
commit ad92f52312614b0ef6eee07ee64f1e7661072a49
commit 457ca96d04f599d2f95bd61144851f2181ccacc4
commit 2efba0c095419f93f8913f1cbae8bf3fb030db20
commit 70b4ab5489da0fe5b699a8466aa4f73ea304ae65
commit da9a73b7b25eab574cb9c984fcce0b5e240bdd2c
commit f1a4dceeb2bd4b4478e4f0c77dac55569d153fb3
commit bf05aeac230e390a5aee4bd3dc978b0c4d7e745f
commit d92b90f9a54d9300a6e883258e79f36dab53bfae
commit 9498f2e24ee0133d486667c9fa4c27ecdaadc272
commit fcd33d434d31a210bc9f209b5bfd92f3b91a2dda
commit ec2231b8dd2dc515912ff7816c420153b4a95e92
commit 8f72c31f45a575d156cfe964099b4cfcc02e03eb
commit 2775df6e5e324be9dc375f7db2c8d3042df72bbf
commit 26df39de93bb8763bb3088db6c76eb98d4cd7213
commit ae2c6d8b3b88c176dff92028941a4023f1b4cb91
commit 9ea925c806dbb8fee6797f59148daaf7f648832e
commit 21d1d72475809734a5149ecfffdc7551503b042b
commit 52755373ea6197dac40b9804ce967611b5e989bf
commit 0da531c82a0fcac65407d28ecdb2a1e19c833df5
commit c389a0604cfbcdb1f8f53a76560eb31e0700e206
commit 28b0ef922738b74335c20b8ed4bf8e259353a3a3
commit 2f27fce67173bbb05d5a0ee03dae5c021202c912
commit 7ab9ebc580617831355843f19224f1e31bb8e983
commit ee06c09ded3c2f722be4e240ed06287e23596bda
commit 99b1f7493bfa757b03d41ee6d7f7d00f81fcba5d
commit 69bbe3adf36de47315498c9384f99a1ff9171694
commit 73d10c7788f6d2b7badf9973afbdea7ca433c15d
commit ddc73c465628ab3e60f7eb5b4063b644c18b6336
commit 9460f4bd5970f2e46fe190a0cb9814697bd7f21a
commit 6c10ba06bb1b48acce6d4d9c1e33beb9954f1788
commit bfc00a7754c40544c7446d3b664049d6e00ee0bd
commit 902b4027216aeaabe1562e1db070550c06f3ec89
commit 0110ac11952f06419d267f51a3989e989b17e67a
commit c400ec6990fb04a2ec9929b253dafa7e77c7f555
commit c77a46bebe99e70600e636a3a1f285637c479f46
commit 2ed186df27f078eb75c52d09e04aa7b0f9920f57
commit 3c75518cf27aa5a7e22e1f8f33339ded3779079b
commit 03b5038c0ad069380fab7e251d2bf3f1540d20f4
commit 797fb1533315571ff9e55e80154f48cd47f3dbe5
commit c1de938fb7e5edc4c71d33f73e9fc5c77feb02a0
commit 7181faaa4703705939580abffaf9cb5d6b50dbb7
commit 151b1813919d4ab932e69ca4032761ee0789b04c
commit 2ae6cd583c4c86c2b7e879b07effb8ffb10756bc
commit 2778701b165eda674756537054d460fb4b0cf2e2
commit c03fca619fc687338a3b6511fdbed94096abdf79
commit c2ed7002c0614c5eab6c8f62a7a76be5df5805cf
commit f588da30a20cf184f150420e4098b694908a4207
commit d18a56b247f4f3f7dbdd3adeeebd05c23f1e3d3e
commit 5a3d3e11349c2e298c0b6b4d37c8241f44d37e3d
commit f57b77d667dc6bd2b114d08d04b03869539209f6
commit 0765b2afc1118a6ab5fee624e206c782d70db28a
commit 09cb922c4e14e6531979bff4e6bb3babcd9cb188
commit 401c90c4d64f2227fc2f4c02d2ad23296bf5ca6f
commit 3766a840e093d30e1a2522f650d8a6ac892a8719
commit ae5100805f98641ea4112241e350485c97936bbe
commit cf4cebcec619d963fa7496018f03cb0ff00dc257
commit e79563bf5fb17d1a199c7c0f7d5a7a98c077302a
commit 07bfa9cdbf3cd2daadfaaba0601f126f45951ffa
commit ce83ae29f93772d604b4ea73459fb17822d6a6b0
commit ff599ef6970ee000fa5bc38d02fa5ff5f3fc7575
commit b6499840cafca25175f43ebd601913bf31d06f16
commit f510dd5c210bf8cc22e4be48cbbda3cb754219f5
commit 4bdc5b504af7de1f649004cfdd37445d36db6703
commit b74571a83fd3e50f804f090aae60c864d458187c
commit 327e62f47eb57ae5ff63de82b0815557104e439a
commit 199888aa25b3a3315360224bda9134a9b58c9306
commit fa8a4d3659d0c1ad73d5f59b2e0a6d408de5b317
commit 06c9aeb57fe894e6e442cd66870cd3e863bbf08c
commit ef126c06a98bde1a41303970eb0fc0ac33c3cc02
commit 42ac749d5b8bf78b347ac8a52eb15cc397b157a0
commit 54b86443fd4437c051aefd3f462cfff4defd420c
commit f2be7b39e43893ab5361115de2b95e7c5c86f190
commit 375b035f689735fd7a87ff31ccac3a42717252bf
commit e7d4e1438533abe448813bdc45691f9c230aa307
commit 042658d17a54c9dc8c028986dfbde49f4aa01871
commit 7b6df1d73290961ff0a00fd0022f28dd19e37181
commit d5a29e6a61028887bb8480e7c4af3547d6f3862d
commit 87d749a6aab73d8069d0345afaa98297816cb220
commit 6dcba0975d39b30be65dd038fed69e1aa111c73a
commit 856265caa94a3c78feaa23ec1acd799fe1989201
commit 84f76408abe989809de19d02e476b044fd985adc
commit de848da12f752170c2ebe114804a985314fd5a6a
commit 617a814f14b8914271f7a70366d72c6196d17663
commit 7856a565416e0cf091f825b0e25c7a1b7abb650e
commit cac075706f298948898b1f63e81709df42afa75d
commit f8ffbc365f703d74ecca8ca787318d05bbee2bf7
commit 3a37872316c2e3288e09a1322221c83e5929768d
commit 440d52b370b03b366fd26ace36bab20552116145
commit f0fa69b5011a45394554fb8061d74fee4d7cd72c
commit 338aae5478befee9e0e66afb78c2ad1e8d69825c
commit d7126c0cfc137a580eba92bd82b6d288bd43961d
commit e860513f56d8428fcb2bd0282ac8ab691a53fc6c
commit 8b0d2f61545545ab5eef923ed6e59fc3be2385e0
commit 4771d2ecb7b9e4c2c73ede2908d7e7c989460981
commit 126be9b2bef9c7068fdd464790d82e6d70f9d8e6
commit e1d27f7a9cea1e0c06699164e3b177862e7b4096
commit 6ae9e1aba97e4cdaa31a0bfdc07497ad0e915c84
commit e45b011d2c4146442a388113657b70f0c7cad09b
commit 8048e5ade8224969023902b0b3f64470f9c250a7
commit d52ac79053a2f3eba04c1e7b56334df84d1d289f
commit 4286cc2c953983d44d248c9de1c81d3a9643345c
commit cbc8764e29c2318229261a679b2aafd0f9072885
commit 087913e0ba2b3b9d7ccbafb2acf5dab9e35ae1d5
commit 3cb576bc6dfb8940228b8130638860b631dd428a
commit a8387ddc0d15a365dd04baaa325a863d3612e020
commit 34ad56a467c320d07db22146cfb99ee01704a5de
commit d7d2688bf4ea58734d73e18edcbf4684b1496d30
commit cb787f4ac0c2e439ea8d7e6387b925f74576bdf8
commit e7268dd9bb9953a9eb0df9948abf5195bf474538
commit 994aeacbb3c039b4f3e02e76e6d39407920e76c6
commit abf201f6ce14c4ceeccde5471bdf59614b83a3d8
commit 43102a2012c2e2f8424d7eef52aede8e73cf2fed
commit 394b52462020b6cceff1f7f47fdebd03589574f3
commit 2cd86f02c017bf9733e5cd891381b7d40f6f37ad
commit 2b55639a4e25ff02ee496368b03456bd28ebdc0b
commit fa998a9eac8809da4f219aad49836fcad2a9bf5c
commit 282864cc5d3f144af0cdea1868ee2dc2c5110f0d
commit 7a1f30afe97294281a2ba05977688385744f9844
commit f9e7ac6e2e9986c2ee63224992cb5c8276e46b2a
commit d51160ab00969ee6758ed2dcbc0f81dd476a181c
commit c36df0f5f5e5acec5d78f23c4725cc500df28843
commit 05af800704ee7187d9edd461ec90f3679b1c4aba
commit ef785ca7f7c80891580cafd36c8dd86375684310
commit 52d4e3fb3d340447dcdac0e14ff21a764f326907
commit 34f50cc6441b7fee4a86495d5ef43da5d254bad9
commit 9286a191abe2ea01b34be577e8a09a412dcbb644
commit 5f60d5f6bbc12e782fac78110b0ee62698f3b576
commit 156cc376a200aa9890c1f71c5e3d2fec874a7d07
commit 475be5144459b502d8aa987637dd4d9f38422786
commit 240ebf1c9d4ce1576f58e10365fdd3bed8aba7dc
commit cffa8e83df9fe525afad1e1099097413f9174f57
commit 790533e44bfc7af929842fccd9674c9f424d4627
commit 2d2be279f1ca9e7288282d4214f16eea8a727cdb
commit cb58977016d1b25781743e5fbe6a545493785e37
commit d1ef967126e295d36201e79ec64efdba31710353
commit 0f18ac78aa974660a948dafcc45f4dc6e2c5858d
commit 7929ffce0f8b9c76cb5c2a67d1966beaed20ab61
commit 3bf90935aafc750c838c8831e96c3ac36cfd48d5
commit 6ef5a04221aaeb858d1a825b2ecb7e200cac80f8
commit 1b30f87e088b499eb74298db256da5c98e8276e2
commit 9e3c85ddea7a473ed57b6cdfef2dfd468356fc91
commit 74231870cf4976f69e83aa24f48edb16619f652f
commit 67801fa67b94ebd0e4da7a77ac2d9f321b75fbe0
commit 8135f1c09dd2eecee7cb637f7ec9a29e57300eb8
commit 7257d9c9a3c6cfe26c428e9b7ae21d61f2f55a79
commit a6f3b2527375c786f2eff77d3ee8b805bcfe026d
commit 301d194d01f3074efcf3a10eae116fcddb76788a
commit 5b272bf7dcf969eb4f19ef994b6e60458ee6300f
commit fe6fceceaecf4c7488832be18a37ddf9213782bc
commit 4cc2718f621a6a57a02581125bb6d914ce74d23b
commit d7d7b947a4fa6d0a82ff2bf0db413edc63738e3a
commit 8e82d1199564ea0baab7be31f6558406bab4fe1d
commit d6b9f492e229be1d1bd360c3ac5bee4635bacf99
commit 0a9906cc45d21e21ca8bb2b98b79fd7c05420fda
commit 79bc412ef787cf25773d0ece93f8739ce0e6ac1e
commit 04e0481526e30ab8c7e7580033d2f88b7ef2da3f
commit 835745a377a4519decd1a36d6b926e369b3033e2
commit 32fda5650625065b8ae6dbd9967fb572d3835c35
commit db7f92af626178ba59dbbcdd5dee9ec24a987a88
commit e863781abe4fe430406dd075ca0cab99165b4e63
commit 42465603a31089a89b5fe25966ecedb841eeaa0f
commit 3fd76be868ae5c7e9f905f3bcc2ce0e3d8f5aa08
commit 1badf482816417dca71f8120b4c540cdc82aa03c
commit fc4d262721705f2a7b860946504e7b8a313f06e1
commit fcddc71ec7ecf15b4df3c41288c9cf0b8e886111
commit 28a5dfd4f615539fb22fb6d5c219c199c14e6eb6
commit 4809a017a2bc42ff239d53ade4b2e70f2fe81348
commit 512a9721cae0d88d34ff441f2f5917cd149af8af
commit 26498b8d54373d31a621d7dec95c4bd842563b3b
commit fe4a435bd0c20beb6d7caf87b49bc49a2233b18b
commit b634acb2a070c072900c56154aa43e2ec2d45b2d
commit f07fd958a49264eebc1db9c946eb5d2e91c470fd
commit ac44ff7cec33d5c2d4b72d52603552ec64c1a8bf
commit fcf38bc321fbc87dfcd829f42e64e541f17599f7
commit d2c72d96dff5ba408bb107193b53e3134a516c4b
commit c0ec082f10b7a1fd25e8c1e2a686440da913b7a3
commit 7760d7f93c764625fedca176891238675fd06d62
commit e7457532cb7167516263150ceae86f36d6ef9683
commit 68d26c10ef503175df3142db6fcd75dd94860592
commit 7a1613e47e65ba6967085ad99dee95420346a0ce
commit 28127dba64d8ae1a0b737b973d6d029908599611
commit cb07c8338fc2b9d5f949a19d4a07ee4d5ecf8793
commit 69b3d87212676c4c22aa4660435e2066dc7d1311
commit 2f54e71359eb2abc0bdf6619cd356e5e350ff27b
commit 4ceead37ca9f5e555fe46e8528bd14dd1d2728e8
commit 03a86c24aea0920a1ca20a0d7771d5e176db538d
commit 761f916af44279a99db4e78c5f5ee839b31107ea
commit ed931fb40e353586f26c3327813d142f782f5f78
commit 82926f52d7a09c65d916c0ef8d4305fc95d68c0c
commit 477d665e9b6a1369968383f50c688d56b692a155
commit e7518276e9388d36f103e8c1c7e99898a30d11f5
commit 4e8b5a165160e2f521cc10bae58ce0b72b2e22b5
commit 816b186ce2e87df7c7ead4ad44f70f3b10a04c91
commit 6df106e93f79fb7dc90546a2d93bb3776b42863e
commit ffafd12696d1a4c8eeb7386d798d75e1fafb4e01
commit ec1aab7816b06c32f42935e34ce3a3040c778afb
commit e5a3c24bcaf7bc1c3c2647395aae5de4660c1c64
commit 5b3c0209e88a67a8d029ed8b6e30bca383cbdc55
commit c09c4f2a972ca7cd9c8926594aa2099bcbcd3b79
commit 7626b4e96bdbbadca046a775c6b8e02b842c05e7
commit 49ff3e79a7f49e269b0278e75d35d6421f5538a2
commit 83f000784844cb9d4669ef1a3366479db3197b33
commit 338b655a1178900ac05aca7ac66dc28b05100430
commit 85e444a68126a631221ae32c63fce882bb18a262
commit 5c23878252515b8d2b86839bd4cb7dea7088aacd
commit bf58f03931fdcf7b3c45cb76ac13244477a60f44
commit 9515e74d756b6825f6119823d41b437832d89355
commit f888e3d34b8641a551eba8e0fa26209c5392eec8
commit f67644b219d458d4b314e78f2304b73985390311
commit 23d16ede33a4db4973468bf6652a09da5efd1468
commit 63feb35cd26557572ad95fc062ede344bb61d9ad
commit 108bc59fe817686a59d2008f217bad38a5cf4427
commit ba1959f71117b27f3099ee789e0815360b4081dd
commit 7c210ca5a2d72868e5a052fc533d5dcb7e070f89
commit c8fb95e7a54315460b45090f0968167a332e1657
commit 22ef43c78647dd37b0dafe2182b8650b99dbbe59
commit 69418db678567bdf9a4992c83d448da462ffa78c
commit 9c1813b3253480b30604c680026c7dc721ce86d1
commit cdc21021f0351226a4845715564afd5dc50ed44b
commit 2ba1f81ec7cbb2a9920cd3435c515247863b32a6
commit e3e1cfe33f932860e070eafec8df8780e3b889a8
commit 4d95a12beba146b0ca2de59c7ce905bc0aadfd0c
commit 746ae46c11137ba21f0c0c68f082a9d8c1222c78
commit 4aa923a6e6406b43566ef6ac35a3d9a3197fa3e8
commit 935abb86a95def8c20dbb184ce30051db168e541
commit 25f2ff53838ccbd5ce558b5d23fac8a5d7f86655
commit dcb6c1d071712186c213c26b245779f7859b9cec
commit 6a9d2e2988fa3ef9b03ddd9ba9aaa54dc23635e6
commit 5d01b56f0518d80211812420a8907ca0b6c6e4e3
commit 412a2a8fdd4eb89b263623c7a59b77dbfcf8f215
commit 4700fd3e050da8302e60ebd4850d008250fa7204
commit caa714f86699bcfb01aa2d698db12d91af7d0d81
commit 926163342a2e7595d950e84c17c693b1272bd491
commit add4163aca0d4a86e9fe4aa513865e4237db8aef
commit 993ca0eccec65a2cacc3cefb15d35ffadc6f00fb
commit fe05cee4d9533892210e1ee90147175d87e7c053
commit 8594a2d8d72d86b70b8bace607100d88111aedf6
commit f99c7cca2f712d11a67148cfbe463fdefeb82dc5
commit b0ef514bc6bbdeb8cc7492c0f473e14cb06b14d4
commit b04ce1e718bd55302b52d05d6873e233cb3ec7a1
commit 7fd3fa006fa56c0ec299c61ecf5c572c723adad5
commit 4b468a92ddb2985da66823910a1643349fe6447d
commit 55e8a3f37e54eb1c7b914d6d5565a37282ec1978
commit 7d1e2580ed166f36949b468373b468d188880cd3
commit 1491efb39acee3848b61fcb3e5cc4be8de304352
commit 4f26c95ffc21a91281429ed60180619bae19ae92
commit 694c79769cb384bca8b1ec1d1e84156e726bd106
commit a6dd15981c03f2cdc9a351a278f09b5479d53d2e
commit 1356bfc54c8d4c8e7c9fb8553dc8c28e9714b07b
commit 74e1006430a5377228e49310f6d915628609929e
commit e301aea030d60da760f85f854a82ce788d5cf6e7
commit 3ce3f85787352fa48fc02ef6cbd7a5e5aba93347
commit b46dadf7e3cfe26d0b109c9c3d81b278d6c75361
commit f790a2c494c4ef587eeeb9fca20124de76a1646f
commit 4d75b9468021c73108b4439794d69e892b1d24e3
commit af797b831d8975cb4610f396dcb7f03f4b9908e7
commit 64a2b6ed4bfd890a0e91955dd8ef8422a3944ed9
commit a353c78459f4d116216393cc29032ef5fe1472d2
commit 514447a1219021298329ce586536598c3b4b2dc0
commit 052ef642bd6c108a24f375f9ad174b97b425a50b
commit 444fa5b100e5c90550d6bccfe4476efb0391b3ca
commit f432a1621f049bb207e78363d9d0e3c6fa2da5db
commit 9b984a71c240ed9287d6358109f6a0c6ab5bba32
commit 1a6bbc4d9e55d6c9df2dfe7d4f2705a544d8ca13
commit b8d9d5fef4915a383b4ce4d0f418352aa4701a87
commit bd8a9576617439bdc907c9ce0875909aea4221cb
commit 6825cb07b79ffeb1d90ffaa7a1227462cdca34ae
commit 9fc0cbcb6e45d6fc96ffd3bb7b6d6d28d693ff4d
commit 16dd2825c23530f2259fc671960a3a65d2af69bd
commit d641a151fcaf0d043075b214b469a14abab25af2
commit df0279e2a1c0735e8ca80c5df8d9f8f9fc120b4a
commit 0e5ac88fb918297a7484b67f2b484d43bed3fbbe
commit 79365ea70714427b4dff89b43234ad7c3233d7ba
commit db0fc586edde83ff7ff65fea56c4f72dae511764
commit 67e023b93d69e5a21b16f9602656a803d314e825
commit 5a67c31669a3aca814a99428328d2be40d82b333
commit 4bb2f52ac01b8d45d64c7c04881207722e5e6fe4
commit 5f77ee21eb44e37e371bcea195ea9403b95d1399
commit 7013a8268d311fded6c7a6528fc1de82668e75f6
commit 3387e043918e154ca08d83954966a8b087fe2835
commit ce0d6970231903f43572a6998020fdc8b3a8f455
commit dd886a63d6e2ce5c16e662c07547c067ad7d91f5
commit 46f1f4b0f3c2a2dff9887de7c66ccc7ef482bd83
commit be7eeaba2a11d7c16a9dc034a25f224f1343f303
commit c0403e4ceecaefbeaf78263dffcd3e3f06a19f6b
commit 21ec425eaf2cb7c0371f7683f81ad7d9679b6eb5
commit b6ad7debf5ab3e581b5cb0f5c94e404ec968bd5b
commit 9776c0a75a1a86b753b2dc7c1ecc3baa048a8dec
commit 93d1f41a82de382845af460bf03bcb17dcbf08c5
commit 32c4514455b2b8fde506f8c0962f15c7e4c26f1d
commit 99d051c4b33cfb451dca0c30e28da25db2ce4d7f
commit 1eb0de899b1eafe2c3aca8763c99e5c5ed791561
commit 21c1c6c7d732c2f6f4c5ffc77e103aa3ae8bff1d
commit 44f392fbf628a7ff2d8bb8e83ca1851261f81a6f
commit f48ab0a39f12fd83fae13bf81152531565cd5e75
Signed-off-by: Robert Foss <rfoss@redhat.com>
2024-11-21 22:32:41 +00:00
|
|
|
* dma_fence_array_alloc - Allocate a custom fence array
|
|
|
|
* @num_fences: [in] number of fences to add in the array
|
|
|
|
*
|
|
|
|
* Return dma fence array on success, NULL on failure
|
|
|
|
*/
|
|
|
|
struct dma_fence_array *dma_fence_array_alloc(int num_fences)
|
|
|
|
{
|
|
|
|
struct dma_fence_array *array;
|
|
|
|
|
|
|
|
return kzalloc(struct_size(array, callbacks, num_fences), GFP_KERNEL);
|
|
|
|
}
|
|
|
|
EXPORT_SYMBOL(dma_fence_array_alloc);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* dma_fence_array_init - Init a custom fence array
|
|
|
|
* @array: [in] dma fence array to arm
|
2016-06-01 13:10:04 +00:00
|
|
|
* @num_fences: [in] number of fences to add in the array
|
|
|
|
* @fences: [in] array containing the fences
|
|
|
|
* @context: [in] fence context to use
|
|
|
|
* @seqno: [in] sequence number to use
|
2016-08-16 23:31:00 +00:00
|
|
|
* @signal_on_any: [in] signal on any fence in the array
|
2016-06-01 13:10:03 +00:00
|
|
|
*
|
Merge DRM changes from upstream v6.11..v6.12
NOTE: This commit does not compile due to missing RHEL-specific fix-ups,
which are split out into separate Git commits following this one.
If git bisect selected this commit, run "git bisect skip" and try again.
Repeat this until it selects a commit which compiles.
This commit was generated using:
rhdrm-merge-drm v6.12 RHEL-53570
JIRA: https://issues.redhat.com/browse/RHEL-53570
Conflicts:
Conflict resolution:
diff --cc drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index a6b5ab89b7ca1,1893c27746a52..db88bfc044b5b
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@@ -2677,15 -2727,13 +2727,16 @@@ svm_range_get_range_boundaries(struct k
return -EFAULT;
}
- *is_heap_stack = vma_is_initial_heap(vma) || vma_is_initial_stack(vma);
+ *is_heap_stack = (vma->vm_start <= vma->vm_mm->brk &&
+ vma->vm_end >= vma->vm_mm->start_brk) ||
+ (vma->vm_start <= vma->vm_mm->start_stack &&
+ vma->vm_end >= vma->vm_mm->start_stack);
start_limit = max(vma->vm_start >> PAGE_SHIFT,
- (unsigned long)ALIGN_DOWN(addr, 2UL << 8));
+ (unsigned long)ALIGN_DOWN(addr, 1UL << p->svms.default_granularity));
end_limit = min(vma->vm_end >> PAGE_SHIFT,
- (unsigned long)ALIGN(addr + 1, 2UL << 8));
+ (unsigned long)ALIGN(addr + 1, 1UL << p->svms.default_granularity));
+
/* First range that starts after the fault address */
node = interval_tree_iter_first(&p->svms.objects, addr + 1, ULONG_MAX);
if (node) {
diff --cc drivers/gpu/drm/panel/panel-sitronix-st7701.c
index a69e861eb1130,eef03d04e0cd2..56a4041f5ef5c
--- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
@@@ -12,8 -13,9 +13,9 @@@
#include <linux/gpio/consumer.h>
#include <linux/delay.h>
#include <linux/module.h>
-#include <linux/of.h>
+#include <linux/of_device.h>
#include <linux/regulator/consumer.h>
+ #include <linux/spi/spi.h>
#include <video/mipi_display.h>
Commit list:
commit 9fc97277eb2d17492de636b68cf7d2f5c4f15c1b
commit 7c0389c615b5c6aef1b0e38e30db759b3cbff885
commit 627c961d672d3304564455ba471f5e4405170eec
commit 8169b2097d88d99d7e4a72e20e4b549efe9eb8d7
commit 67d90d679eb3447f73e2a1fe55f7e6c6a44c9fa1
commit 2e524668c440104633af1effcc85d1d6234c7ccf
commit 96e7ebb220f8a873321cfc5a87bc4533d36ec444
commit e8babb280b5ef904df54b3a90e5a7e3a9600c4a9
commit 282e6f846d8c3fcf36293f68f38d814645c3b852
commit a708f6501c692551e3d4ea618c44021f436730d9
commit 04e9c0ce19ac68afd8be7fd54772db3b0356cf75
commit 9dae9751c7b0086963f5cbb82424b5e4cf58f123
commit 466a6c3855cf00653c14a92a6e9f8ae50077b77d
commit 3078d9c8b6a0939bc732fd1c36ef86c0178127dd
commit 01570b446939c3538b1aa3d059837f49fa14a3ae
commit c55f79f317ab428ae6d005965bc07e37496f209f
commit 01e0cfc994be484ddcb9e121e353e51d8bb837c0
commit f3a47a269119ade7ea22d0465c7fbe518ca1bdfc
commit 74e3076800067c6dc0dcff5b75344cec064c20eb
commit caaf1f44a6a27bae33eee189842c4d8fc21c3b02
commit f592e01664b4a57b109fcf6f6916145517f94bd7
commit 6be74ddd0609959b4005f88b6a4d4af678e4a71f
commit 9c62fb62c9f0761eeda8f2a9517e007ff2cdbe9a
commit 8e9bf0fb10a79aaed37474600948cd33d14aa606
commit 4c44f89c5daee9540cb7428de5d835bd00951350
commit da966b82bf3d16f89a05732c933a589ec798d3f7
commit 10efe34dae798c652053d4363871914c478f1475
commit 3756310e9fe1e0182adac89cedaa98c0eea66675
commit 1dcfca093be9e013a53e3c9b74b3f60ea9c5160e
commit 014e597d35816b56c7aac1348b77c73657c4066e
commit c4ce398cf18ae2859cc9930a9486b576ce262de9
commit 533ca79cd9f734aae56814445e3f1e6cc1a50358
commit 56ab6986992ba143aee0bda33e15a764343e271d
commit 3d122660dc70029d9cccb4e8670125f0affa959e
commit 7b5bdae7740eb6a3d09f9cd4e4b07362a15b86b3
commit b2013783c4458a1fe8b25c0b249d2e878bcf6999
commit ea74bf9ccba9ae80fc0766c07c4abaef927e9e63
commit 7fbad577c82c5dd6db7217855c26f51554e53d85
commit 33891539f9d6f245e93a76e3fb5791338180374f
commit 24179ff9a2e4524ce83014b8827a73ad03a25c13
commit 7f58ebaccb67cb22b2936ba79c844f1e446dc73b
commit a16b680a2140e6cbda41ac144564696c3ee2815f
commit e4bd1db1c1f771983393bf5574854dff26ca7532
commit 0e7f4e6a20d550252c4f355d5a303b1d9c8ff052
commit 76299a557f36d624ca32500173ad7856e1ad93c0
commit 9d8c094ddab05db88d183ba82e23be807848cad8
commit 71733b8d7f50b61403f940c6c9745fb3a9b98dcb
commit 993d36ac99efeafeb7b5f12353def6d7d20d6389
commit 0daf44ea9dccfcdb1fe694e9ea85497b6cc3a065
commit a4d5ce61765c08ab364aa4b327f6739b646e6cfa
commit 211ad49cf8ccfdc798a719b4d1e000d0a8a9e588
commit 4613aa66e42ba1b0c896495a207b3b26e94e44d5
commit 61fe488fc78a3024b8d4cafc90a34158f4562dae
commit f6ca930d974e473fd608fc9aa1759fbe731fe44d
commit bd85e00fa489f5374c2bad0eac15842d2ec68045
commit 57c2b3e684ba3e82e9944bc1975e047bd1630537
commit d6e850acc716d0fad756f09488d198db2077141e
commit ff10c99ab1e644fed578dce13e94e372d2c688c3
commit 0237368193e897aadeea9801126c101e33047354
commit e97701a069612ba2fa1d92b56a720b108049df4e
commit 3b0974d7b74a908d1caa27f05a97551943e1bffe
commit 09af6037128c101c280c95c56d970ce8475506c2
commit bc34d310b578952d37b5200a7fa7475ab2a2bd5e
commit fd5a9b950ea8ba2c08ce07418b36b296a04d712b
commit 6c9ee258b1f4e7021224c9bf541fe6b17a03ee40
commit a5beee65241d25ad20dd814668c975ba13a42615
commit da9bbdb97469383a2ac97435a3b09543d14139fe
commit 4c46e34e67587b268abc3916c9613426018561e6
commit 94900000380300b230dc1bed489b598a2a2c55a1
commit 6a1738b3fdd92d48e61de438d05dedbc00fc598f
commit 566ad72ba636b745beb8a440bd4c05e779b95728
commit 4290eaa8424905dcee4daa0666ec841dc3a0bfb3
commit f89d7664c3617836aecd291c56c8ab63fe228fbd
commit 4d722029930bca7f53d99dbfc300a40dc297dee6
commit d43caea1faf5c31dc02aa1adb8bb1aa1c33bf86f
commit 43a6faa6d9b5e9139758200a79fe9c8f4aaa0c8d
commit 6f1cacf4eba7a3203f08954a7e00b744e43f741c
commit 4c3fe5eae46b92e2fd961b19f7779608352e5368
commit 86c5b70a9c0c3f05f7002ef8b789460c96b54e27
commit cd3a2e8b0a0367c636cd82efaf7802cf85ae5dad
commit 7bb97cf915884956311352eae3f444eaaae48cea
commit 3ac9384061b250ee40eda5facff10b85e2d5d3d8
commit 45d30c828c613441bfbe5c97ca766854152b7181
commit a237f217bad50c381773da5b00442710d1449098
commit e1a261ba599eec97e1c5c7760d5c3698fc24e6a6
commit e02cea83d32d3a616c9ef8b6b50a83444a6bbcbf
commit 7dbe8af13c189f5937e87e9fb924d5bbc49e6f71
commit 452bca0edbd0764ca0284239d5438b3edd305ab3
commit 108c972a11c5f6e37be58207460d9bcac06698db
commit 54f07cfc016226c3959e0b3b7ed306124d986ce4
commit 8d79acd567db183e675cccc6cc737d2959e2a2d9
commit 2b808d6b2919cb2fe92901e5087da7b4ed4b9e07
commit 523f191cc0c728a02a7e5fd0ec26526c41f399ef
commit 8a92e2a67f627e69dd52aa9c2d3176be13aef2cc
commit 3849c6ff3a1517e4c8a6d004d9cb31241c849713
commit 775d0adc01a55fe0458139330415d86bb3533efe
commit 275aa53f59df769802f28a0a623019aadab2e05d
commit bc657615e10ddd7637dcc05811194ad7e2baea33
commit 99e0fb8b087120b5a7019f1cff6c5c2b5b925ae5
commit 0fde907da2d5fd4da68845e96c6842497159c858
commit 5e4e1ed6b87b6b3a3531cd8b5cfa9c3b09d841b2
commit 104bcfae57d80c484185c012cc0ee8d8d5889a7e
commit e4a0251d36fc6c190c545aa95702eec0efe05a4f
commit 7108b4a589cd6d3a2c1276fd610b3500f46de66a
commit 0c977ff2b807aa53f655f095b0a306f18d8cf7be
commit 3d0c4a62cc553c6ffde4cb11620eba991e770665
commit ce8c161cbad43f4056451e541f7ae3471d0cca12
commit a2387e69493df3de706f14e4573ee123d23d5d34
commit 2149ded63079449b8dddf9da38392632f155e6b5
commit 754c9129b9494b2b058add1d1a627fb3c9466a03
commit b345b3542d66fea49bff53288d347ccb06fa1b3a
commit e8f834b559621d634a939381caf99a024e272211
commit d6460bd52c27fde97d6a73e3d9c7a8d747fbaa3e
commit 5cd522b5331b348302fe410dab1cd070e4fd6998
commit ad16682db18f4414e53bba1ce0db75b08bdc4dff
commit 89c6ea2006e2d39b125848fb0195c08fa0b354be
commit d5070c9b29440c270b534bbacd636b8fa558e82b
commit 9f774c42a908affba615bbed7463dd4f904dd5f1
commit c2c2a91f3868515969a758042887fdc722216525
commit 3a9b77cee7502f7450c725d4ead2c4a44924d158
commit 7e33fc2ff6754b5ff39b11297f713cd0841d9962
commit a522b285c6b4b611406d59612a8d7241714d2e31
commit 61ac035361ae555ee5a17a7667fe96afdde3d59a
commit 0a382f9bc5dc4744a33970a5ed4df8f9c702ee9e
commit d930c19fdff3109e97b610fa10943b7602efcabd
commit be1dcdffa8fadc22ad272f605a53e2a2fd30e7f8
commit 2885d283cce544cf3619f35f0acb3d073de036e1
commit ec92c47d7d098e85eae7fb25c6bc07158686e675
commit f6f22012e6c73867b959524604984ee5ebfd105f
commit bd40536ae33911bc74df5ba3b29b573dcb72f904
commit 8bfab7cd8335b10bad92e44f58c5a038762bcbc3
commit e17eedf56ea7afacd919a3d6cc75a617cddd003a
commit 8f3d86f13eb2b37d86fc48df8995dffd9b7d9010
commit 37db1e776285518a7e1269b868d094a4532b2d54
commit 57ecead343e724b6ea38e9c2d8f794b293cf2951
commit cf1e6edbd1c8ba654f97071ccb748d87ef0115aa
commit 9790bbe3ba48b659c0152f49552f6abc18f85bc8
commit 25ec7e809cc1fe9f01a71199d29092f6f1b4611c
commit bc3ca4d94369838c3b6668a183467d4a69a5a482
commit f00bfaca704ca1a2c4e31501a0a7d4ee434e73a7
commit 7e0fe233aa0849de8a0a5e60cb0d71dfb359664f
commit d4b9b6da5777bb03f36f01bb6b05c6cc303ededb
commit b26d9dddad7bca6727069f6a26b265d303c65c49
commit bf32a3a1268638442ac43b347e4a4a09044dccea
commit d5e79eeba3086a52593b295ac4bf6eddd64d4aad
commit 9c27f613d55f8ffeb3f250d9d34e41edca3df3b5
commit 649b93dbb902ae3237fddbe998eb1f4de1a14b71
commit c8a31ff6199f12ca65d73f1235117c1d9e6365a9
commit 8af13c3fc1259c1b8cfc4459d3701fcf41ad74df
commit 1fb4dceeedc5f0d1d062ddc44c4a426e1639e387
commit 19cc4b7d75b52df2b4fbb76428a6b0dda3d248bc
commit f763c3b543d80ebcb94dd19a69324bf2b72b23ab
commit 08bed7e4ff24f90e200defcd2c23e70b0a3cd710
commit 43796955a89572c63f7f96e271a2849c27d18f2d
commit 00bb3223bf7cfed3c9c714e994cbd454cc3e6b73
commit 1eba165aa40c79f65f487678c8ea8e77b1c6a5a4
commit ccb54d7d91d256485cfe5403a12abb0175ce4539
commit 0f1a93704a5cf53ce819a7c544125442666d61ce
commit e84f798a93881062cd14ce316a68068edd50bfb4
commit b68417613d4134b9e39fff95e72ca726268b47db
commit 4ccc8fdcca670edd76d8bfd6389f04c448cff6f6
commit 5f30ee493044e9ea3a46167e5597a96f5c302adb
commit 0961367cb5208850a123d235d147f92f586b2491
commit 98579743c4561acc3b1c7d2f3fcd46b2160db5ba
commit e8d77cfdd2698039667432b8569bac34d13508c1
commit bc2fe69f16c7122b5dabc294aa2d6065d8da2169
commit 3c9154310af71802de2f40c5689b66009a407f37
commit 5fc77c26970d443f1c020ee8a5d475ad6b81e15f
commit c83ecc0bee94995117329fccbfa6e8b43ce56044
commit 218784049f4b90834dd7b854857df0b7e0f76567
commit f5c783868855bbecfc4311050dbaca4cb28ada5e
commit b3c9c9affd71f1f9b136534d6f56f392edb78620
commit c18fa08e6fd8952e88fa9ad108371c2bd5b82564
commit d94df7cad26b4c5958fbfa550d65794c89aa90ba
commit f60881ca126cf825b89b4118e93dbd82ea9bcf33
commit b995c0a6de6c74656a0c39cd57a0626351b13e3c
commit 367cd9ceba1933b63bc1d87d967baf6d9fd241d2
commit 3718a619a8c0a53152e76bb6769b6c414e1e83f4
commit 5559598742fb4538e4c51c48ef70563c49c2af23
commit 1ff12bcd7deaeed25efb5120433c6a45dd5504a8
commit 35ff747c86767937ee1e0ca987545b7eed7a0810
commit 892abca6877a96c9123bb1c010cafccdf8ca1b75
commit 906fd46a65383cd639e5eec72a047efc33045d86
commit 5d2c102deff63ff8980dfa848ee41858d255c291
commit 2563391e57b5a9c1d83fd36c05ac4cbafeb5efe6
commit 5ed9481db74740fd33ec4079b29db88e8c9f4a1c
commit f91a9af09dea850d83d4b217b8acbafd97b5c61f
commit 39d496d4721ba509647a70041f38d82b03c74680
commit 4e8eac98046446d99cbbed740f0767204b839f3f
commit a41d58fb91248557438de4e8298d1d2ed5b39564
commit f82200703434522f1b35d38bdef02486d22b2f25
commit 9932ca4c03c8181601f611dd366fceb765329800
commit 0beca868cde8742240cd0038141c30482d2b7eb8
commit be1fb44389ca3038ad2430dac4234669bc177ee3
commit fdd5ecbbff751c3b9061d8ebb08e5c96119915b4
commit 6d64d39486197083497a01b39e23f2f8474b35d3
commit 323b19f424486e61784e8797a8bfb2e24585e162
commit b8d3782da396215615c3d125f0829d1d06ad2c97
commit 08cbe68d4aafcf651a86730a485df53e6ee9f594
commit be7a6a5171649c39f79a6259518218351082bd99
commit acce1eb8eb5de360fd82fd900454ff180912d8b1
commit 748b3c4ca0bf43cec186ace2ecb33457d7a4653d
commit f59549c7e705be0087d08bc116ccc767b86d8362
commit 48eba83018c14ba6c102f5801d31c398807535d9
commit 6b0a9bf72c04cd8d2864fccce42817c24b060aec
commit 2d67c4b54909982d462bfe227279d1499b329545
commit 60a9472cf0a8568f32be6cbbd32ee7759bffe215
commit 90985660ba488cd3428706e7d53d6c9cdbbf3101
commit 78dd6a8d33a3363fb4196e173be0eb4002962798
commit a6e23bec8ed184ed2a11080b28cdbd7a3024f0c0
commit fb1b5e1dd53fc834e12f69749cbc8484382599c4
commit a9ed2f052c5c14e4be58c5ec8794dffc87588123
commit 27cdf8c3cae2ad1dbfe1a32ff999c98349366862
commit 56631dee2932dbc203f0abd1011aa9d3d621e206
commit a7e8467fbeee654e390aad1736291d273b407a2c
commit 7a38efeee6b59d0984ff0470d234a06fe6a7cf3c
commit ca82ee4e9fc1443f9ceec615918b299766432eec
commit f2ac52634963fc38e4935e11077b6f7854e5d700
commit 4df9e2200fb8ae7199e46eaffeb9430bc0ba3ea7
commit 666f14cab21b17ccc1bdfe1e82458aa429b3b7e0
commit 93381e6b61804b777f60357d96d6254eb10b9b56
commit abf839f5ebd98134f51764f2a2841faa6cbf268a
commit 80237bfc031cd74cb8abf0d21094207284d56a48
commit fec5f8e8c6bcf83ed7a392801d7b44c5ecfc1e82
commit 585e3fdb36f59c5cfed0ae06c852dc1df22b1d60
commit 49cfaebe48e97500a68d5322a8194736b0a2c3cf
commit caaf576292f8ccef5cdc0ac16e77b87dbf6e17ab
commit f9e292cbba21e79abea7315b41a52c36ea2b6980
commit c86ad39140bbcb9dc75a10046c2221f657e8083b
commit a11b36ba9c1ac494c6a5cf7f1a5e68c1ce4dbe18
commit db54a725d57985c869f6fe4153a36cd229ab0b73
commit fb91065851cd5f2735348c5f3eddeeca3d7c2973
commit 72dc6bf159467f43667bead6016965821186490b
commit 3f7477bfbb906ec1cd9ad681475a04a142345eae
commit 6fa4bf3dce0668a96faca0024e382f4489a9cc9b
commit 332315885d3ccc6d8fe99700f3c2e4c24aa65ab7
commit 14d6ca0740e6237f4bca2dabee4e240b6f4be508
commit 0cf80506918da0d2cd9d31e3b07831f94a2c5cc6
commit 94beb4ac1b3bc5fbeef977960a90ee4f594b4465
commit aaa21e6a33bae017fc190bd75f76baa29d259346
commit f52ea01925f4eeb967c09cb5dae61608a2330541
commit f7543209ce5dc09e3f5a27a7d4ee53e226283719
commit fa53b23ff7c98930c7e529b8f5228d9f182ae2bc
commit a90e1dc25c064bf21353cb342aac938662a148e4
commit ec0d7abbb0d464619d6d1646f03603c6616d966e
commit fae1879dc229249c17e5fd4ef81bf33684ee58f0
commit 1a03b0e6c5fdb476203be4f4597205ff8799369b
commit d925c04d974c657d10471c0c2dba3bc9c7d994ee
commit 3237403b98e173c296ec83cbba5e9def331c5e13
commit 58ed441367b9b0fb48aa8cd471a73073d1143e16
commit 8732594017d32132ca741f4ec4eec91211f5d10c
commit 779ea9d32612f8e78a2f362d52cf31c23ba878f0
commit c8a0222dedf90e9a79b88814e32ffb43ac4beef6
commit 0352e39e7e781fe6a408c70a336d0f321dfe108b
commit bc50b614d59990747dd5aeced9ec22f9258991ff
commit b7e99058eb2e86aabd7a10761e76cae33d22b49f
commit bdf606810210e8e07a0cdf1af3c467291363b295
commit d81873f9e715b72d4f8d391c8eb243946f784dfc
commit f22f4754aaa47d8c59f166ba3042182859e5dff7
commit ac2140449184a26eac99585b7f69814bd3ba8f2d
commit 12fb3e9c88406732749fb2f111911a2438eeb0fc
commit 7e60ecc2b70adb41b92752cbcd749040e00b57b8
commit 9c7e69d2e1245fdd5fa5c65cd022530b2a5ef1b7
commit 68e599db7a549f010a329515f3508d8a8c3467a4
commit cba7fec864172dadd953daefdd26e01742b71a6a
commit 4b6377f0e96085cbec96eb7f0b282430ccdd3d75
commit eac3b274aaea11ec4ade8e8f684055db80d5f8b7
commit 22a9d5cbf88a92ac6cd473c3ba1c369aee8fec9a
commit 834368eab36922595a402b9e76470f8efa2fac7f
commit 8284951a6e79c6806c675e5f68a4cd425dd56bc4
commit c395fd47d1565bd67671f45cca281b3acc2c31ef
commit 015b8a2fdf39a4c288ff24e7b715b8d9198e56dc
commit a2737c404cb2c1c335db30737925a306a2e7cc11
commit f53f526f7050041718af84e33fc24f670e7dccdb
commit af4808ac40dbf668183d0b69ef6b31e62e1fc5df
commit 4b95cec68937a6302c7085b26258cf721d726684
commit 2662b7d9d8bc1dda1f89f0dd33422e069f2f861c
commit 39879321769cc2d9a690725959ef76af92a38ac1
commit 48695573d2feaf42812c1ad54e01caff0d1c2d71
commit acddd5cf70e609e1e1e638ac0422977ea2b4783f
commit a7909022371dc8c70bdc4871a97cc49e34d78a6d
commit bc6c2a6f6495668e3cf0acbecf820b93ca03aef7
commit 5ebca62eb8ebff67e2c8c4903bdb4f3c07922114
commit 238352b4949bc5c724f6adc1c78d50f1d15e4759
commit bd4bea5ab2bda37ddb092a978218c4d9b46927e6
commit 61eec998c9399d1cce91c7a2f51a4d0cfbab97bb
commit c60ca14bfd2d399a66f7164e044b63991c6a5a82
commit 708899133615bdb8087cafa129b8e24397d0c79d
commit 2108cdcee58b06460a8ecb106d15ab69f5bd49fc
commit 6482253e6e1ad1c3a76645a3899d3cfdb5b918cb
commit 76a791fa0926e504f262310cbd0c8f1a60e67ae8
commit a2b4da9501c120d60413065169f140bc3d2e5991
commit 66ac3451fb467ce44fb1d4517f91db7390b9fa6b
commit 7214da0ed2220a2b9ad22aa77a5974cdd2a62799
commit b46119578167150810184494b2a097c40e2144b8
commit b049504e211e8f4dbcd40434f2dcab2215ea1039
commit 305cd109b761202d71f2f655ea369fe889ba1d01
commit 3b37e2725ab32c9055bec00ef41caa63839efd37
commit 0b071245ddd98539d4f7493bdd188417fcf2d629
commit 08ae395ea22fb3d9b318c8bde28c0dfd2f5fa4d2
commit 47c0388b0589cb481c294dcb857d25a214c46eb3
commit 517fff221c1e6b8a8db69e7a440116caee120ff5
commit 629568d25fea8ece4f65073f039aeef4e240ab67
commit 1a394b4f504f33eac8c38b6f42ba025105c7e869
commit 31b42af516afa1e184d1a9f9dd4096c54044269a
commit d34f4f058edf1235c103ca9c921dc54820d14d40
commit b4224f6bae3801d589f815672ec62800a1501b0d
commit 3e307d6c28e7bc7d94b5699d0ed7fe07df6db094
commit 10ba3753665f77314cb475e1a4ad0785f4770c4b
commit 83b501c1799a96a41e163973e88826253ffadfb3
commit 773884e39bb5a57f998af48b3948308568027a54
commit 93183c9959d456530ae502865586522acf21adf7
commit 3c8d2d5da3e29f73fec6e04a424e789422f697db
commit d969b31afa439f71f810076a5612596dae38fd86
commit e814902866ed22bc07d2af1303f3183357a438e8
commit f4aa02c43969c36213a7fd4e56831693fc83ec4b
commit 351a88713b6daae5435d683ddab1913a65d09eb2
commit 8155566a26b8d6c1dd914f06a0c652e4e2f2adf1
commit 17c6baff3d5f65c8da164137a58742541a060b2f
commit 75c3f06fd900e01a68b8ade17e6b6be64cfdc9ff
commit fdedd77b0eb31209c59107de66880ef0be21a77a
commit f3c681f0c3b171db923d6147785064962351e043
commit 60c30ba7ba2064066ec462236666058cbbf619c1
commit e06b71b2313a00579ba64a1cc43ad29d64cb8d4c
commit 8f28c465a455563917aa15bf5ef40016b2a665d6
commit 641a118c9d91e53bc920ec0ea2ea350d84eb7a9d
commit be8f9f4c866f41b62a3df9a5cfd54e0e88fc3e3e
commit 81e0a3d1063e388efcbbb4648e07479575ec85b4
commit 5e9209c3739454a08c4d770c649187b0f51dffc6
commit 9d8e91439fc3890de55eef2bcfde97470b7dc04d
commit fd6797ec50c561f085bc94e3ee26f484a52af79e
commit 0d5040e406d2c4404d26b841c4aa34cec0bf1088
commit 20d70de5823ee6b9d4e8b3db4c13123cee0358af
commit 961ae5f9807bb15af0065485785725768a7269b9
commit 448359c1ce50a8e61842c39ffd52f399409a6860
commit c0bfe34330b5fafdbbc63a7124841711651b96b9
commit 6777264dfabe2a7c75453031bee5bcc2e7882cf7
commit ea94c8e217f9a845bf2c565b77c5eb078e975eae
commit 2e408ad7a55273b55b14ce28f62111dc1c4f7fb6
commit ba6b8479c944c50db7e2a81794885896fa6c48a8
commit d075d99ef73bbeca878fe2cbf758f8524bb698d5
commit 8bc1ab4f615b200507b113d31ca614fa17b9772d
commit b5bd7cf76b7cf8f2dfe36aec0e4916a2a95c8fbb
commit 4a865f6a76ed1295d878029cf7a1797395b1aec0
commit b2d474d4c8fa9cf7d18dae3c0784c4a710e850ca
commit ca6eef9b1c3486bedadad6a85d246b26df51c61d
commit d6e44a8548b614fa9d6c77e0c12b929c2c791258
commit 455167e8751c7fc50e88496e6d5dfb896e2ab3dc
commit ffe9f1bfb3e6709769779bc6c1a5b1d971b7b95d
commit 7e0d8de4d35789b57eee8acb0a952b854edb37a1
commit a897f65b3a6175243e4878e2fd2e9b8f494710ec
commit def122b64e37daa39774d4afa433ad42b8a5eaf3
commit c45c999cfb6716d40af9048ed0142e42a6235378
commit 246b228eb905c94663af435a1cd6cd31cc205ba0
commit fabc65d16337b6cee1cbbd1470bbb903f6daf3ea
commit cced63c3dd23e061f0fca754a3aeb35b62b0a628
commit 216c3c4424bb42bd6e4ea75cfe0c22aa7dceda6a
commit 8d7b2d3a7e3aa4fac309f9a496e6b237729d2b01
commit 6901f1d6479b6f81b537672cc16720b06b2ab3a5
commit c6bf82d426d8293d7257b9db368e025b1fd66454
commit 0fa0955acdb342bee3651bacfdce3d8927ab1025
commit 3019023ec9fb2bd7b0d2d82ce847ae2520f24c1b
commit 5cca41ac70e5877383ed925bd017884c37edf09b
commit 2eb58f22e2761b75e4f35847be03ddd425ae2b5e
commit 3543e84e20fbd60e02264f757c77c7dbdfd1ee4a
commit 034142a303fed2903957b06a7c91abdff5531bcf
commit 0df26c0d69dce1141218e0e5ed0ad378a0c6c058
commit 723388bc0fb68f2487795796f4e616ea39cee99c
commit 61671d85def2960bbf52db22e9e45b3bf8a5ceb5
commit f3392e662efdc095f10109f588aa4f3be86f7eb5
commit 50d10d9271f6c6542196c54275091c7b2c6edf97
commit 58d283801d06d4434df6625ed6e6b8d2ba47fe65
commit cd162ae9bc3ba91eb630a1321afd3d1dde5f2000
commit fbfb5f0342253d92c4e446588c428a9d90c3f610
commit 25dd25f86eca77b1ce4a611432f57b006fa91615
commit 8e4ed3cf1642df0c4456443d865cff61a9598aa8
commit 66d71a72539e173a9b00ca0b1852cbaa5f5bf1ad
commit 7c5b344537a143d15385992e41a50a9c5125e93c
commit f9e6759888866748f31b6b6c2142a481d587f51f
commit 7fb363c57522b704e156fc4c5fbcb7ee133fe304
commit 17e68f89132b9ee4b144358b49e5df404b314181
commit 0e4b858285e633ea6bc7335fd66529955d023af9
commit 076362d931d0d5ed01a3d1cd4d066f2e6e7f86f8
commit fcb3a4fb8255149a73afeb3d8f2397eaac3a46b0
commit 680caca6feee720d0a6cb00f892c0d2d46dc4075
commit d5022deb4a526009fdc20e4d62528b25b05112dc
commit 3f96f545f877ac59d0c967f52d760b4b2b3b9a47
commit 722e96c99f1d7532fdfbb557f50a399f6cc57d82
commit 58a8ee96f84d2c21abb85ad8c22d2bbdf59bd7a9
commit 739d0f3e1f36738d4cd84166784a8f7a58d69612
commit 9724b8494d3e85cb01c377f201bfaf25fd7d38ff
commit 093b79d034c59a3b66f6312863502378a422496d
commit 4981bd4749fa769b3d6acbc82fe8059c030d0920
commit df18a4de9e77ad92c472fd1eb0fb1255d52dd4cd
commit bd870cfd21489d28195fda157710ebd4cecaa8ca
commit cead9ac8b0992ae2659b637e86a0da7cfeb5e267
commit a15268787b79fd183dd526cc16bec9af4f4e49a1
commit 13d8850a3387635c051c5ed1c8a8b6c1e9bd1341
commit 608d886c978cd5f3d8650630568d96c231845227
commit aeb81b62c7fe4782198e9dd79c7d6cdf04d92586
commit c6bb3acf1cdeed5d01ebde70b769a8e25993965d
commit b5126ba85beadfa1f3cfdc9e7a8533ad444ca210
commit c3f15273721f2ee60d32fc7d4f2c233a1eff47a8
commit 6eb1fe53ee94cffd7187844d08d46ba8659d667a
commit 4067f4fa0423a89fb19a30b57231b384d77d2610
commit 31663521ede2edb622ee1b397ae3ac666d6351c5
commit c9bfc37f085aa180b3c49b9c95756b9ef032243e
commit 0c3f3a83c7e8dfaaae4ba8a5b69bd6bc13340d0b
commit 0e8655b4e852ef97655648b91ce780384a073ff4
commit a6ed988ecdffb2680a65f142acfe3271e6c04ab4
commit 6f4e43a2f771b737d991142ec4f6d4b7ff31fbb4
commit 7657d7c96657179d002817d5ec2a1d4c84f21cdb
commit e525473fd5b7202ae751316799ed759bfaaf02bc
commit 20c3a0241b5c15c0d64929cba04653d5556b7d5d
commit d93a4fec186c106115d0b3165047dd06f2c1aaab
commit 9eab82c38d0184289ffea56477daca8425758442
commit 6da8acfdb6e1aa72787efb733e3af9e9e0c57b9a
commit d51a75ac975a6147a4dea2d68cef4566f5c2ecaf
commit 1c408c516414fd9760c54f6d42ed1fa44a1dff15
commit dbcbfc72d3b660b6dd9ea7d2c089c228609714ec
commit e4ac526c440af8aa94d2bdfe6066339dd93b4db2
commit 250ac9ee60dbb14cdf422ab7f2bc28d671ac9f46
commit eb53e5b933b9ff315087305b3dc931af3067d19c
commit c91d75a3c6a2567e8c6b44f7337b6955596ffb86
commit cbacb1b74400299edea7e9bcd58bbc7c40dad8c1
commit 2281475168d2ab3fbd763c2fd762f99a411fa1b6
commit 2000ddac9b5ce5102ab1b194a1cf91e8af3017d5
commit 833cf12846aa19adf9b76bc79c40747726f3c0c1
commit f2881dfdaaa9ec873dbd383ef5512fc31e576cbb
commit 7f7a2da3bf8bc0e0f6c239af495b7050056e889c
commit 6f20fc09936e786a4ba18f5514fe185e0451ada9
commit 4c288f56030f380acb9572d88396ac15edfd30ed
commit a755947e050b8751fc5402609a7d600e9c756fa7
commit e9b36c5be2e7fdef2cc933c1dac50bd81881e9b8
commit dbaeef363ea54f4c18112874b77503c72ba60fec
commit 0cf09702a118b1c09b694862061913108565edd0
commit a64d5fe490cd92d74b1cf46da63164cefcc61a58
commit a3f91f405aa7c54d0856c1b8698e4ff05ae7d439
commit a4530e20faddcc4ef4e5939f186a8560c71a5e94
commit 634e1804242b0d5d64031199236fb3f337b5af3d
commit 96c468c366dacc0e41e08ac53e20a5025f6ba967
commit aa705f7ec6e2423af87c20b30f0e26eafdfd4513
commit 8f1fe39ded725483a67c15014a1863179c783b38
commit 9d1f218ddce20329a01c46d7a1ea4d88fdb0fe86
commit e40fbf616610e33aba9597f278925b4ae8cc806c
commit e44bc451aa4b08845c238028daafb4eaffb573a3
commit 5c7b393452b55ee0cdbced0d3bc798f6875b5c24
commit f1e6f89506e48b42235755fb3c2b73022697d8e5
commit 4da409ba6430e3b5c6da7879dbbdc5f6717d91b1
commit 6c9e14ee9f519ee605a3694fbfa4711284781d22
commit 688c43dd6ca9e0cd0568868aefca5b041695c3f4
commit bb99c51bdaa846bddb85a1e7acca3a3aa5e9f082
commit 3663e2c4bc45fcdc71931fcbfcbfbf9b71f55c83
commit d97e71e449373efbd2403f1d7a32d416599f32ac
commit c0e0bde2c7e6bca2a1f195d82ef7598d521399e5
commit 146458645e505f5eac498759bcd865cf7c0dfd9a
commit c3bc97d2f102ddd5a8341eeb2dbae2a3e98bb46a
commit 53369581dc0c68a5700ed51e1660f44c4b2bb524
commit 4f04d07c0a94b0b30db839e44f1b8364a1b508ac
commit b6b242d019ed23195c81cf00eb8290d386efb83f
commit 717b432b6d55e1dcefcb5e2ec315bf66b6ab8c54
commit 21e97d3ca814ea59d5ddb6a734125bd006b66a60
commit 2009e808bc3e0df6d4d83e2271bc25ae63a4ac05
commit a4172af3040cdc207f1b60efffcdd219156093c9
commit da1878b61c8d480c361ba6a39ce8a31c80b65826
commit a99aff2608f422da833cd91fa1eff23daa05c0bd
commit be1dec570b6f5a29ce9c99334c52bea94c28914b
commit 8d5309b7f67571bc0c95d430f4722a99d38f3b79
commit 843f10ce6539cd5e4989415e18cb809f4cff8b91
commit fceff12e52985e49c464f402e11b2f97bce3cc24
commit 3196763851b5fb9f7c8c488e233e947292cd71a6
commit 8466a14173e5ff7c2a52d8700a13f4b841d0e17c
commit ce9b1466f5a9a1b2acc80d29f12d69559fa97174
commit e60244554ca98e87ef731739f608eac54e478e9a
commit 2796b7ceec95bd5a7069cd27af7e4cf01a692db4
commit 1de99ff7371bc6ce2187081bf5bfbbb4a7de28d7
commit 34d0472ce1087fbf8e2ba504a4625e4c74286c63
commit 60a2066c50058086510c91f404eb582029650970
commit 97b6784753da06d9d40232328efc5c5367e53417
commit 54bf0af90844fbf18f5be3272eda69198dfdb622
commit 92653f2a572505adaf7f13f695c1907e71a1dc84
commit 7c5537cee9a8dff956e3b9a3f68c22af06a57558
commit 7b6cf6c750da7661a90c12642c3a8f141c7c2819
commit 68914b7c4dae0fd59ccb6b8bd8e2b6f5656cd25d
commit 0b8778af8babe55f133b9bfe3a5bf234a36ad7f8
commit 75830999587470b17a30d2ecad25ad13cb272c19
commit d7683c49638c83bcb6a817671bb348dc435da3b5
commit a0ac33cb9a12f1e499c9f009067a3135df626cd5
commit 16c9898ac5ab00fc96efee404a1b8bcfe20ad48b
commit 9a72570491b524c9dc4c1caa7323b2297c27b0b7
commit ca0fb243c3bb53dbbd71d16c76f319bf923ee3d4
commit 9330af0af3d54df71b6b752a260dadef05a4fc44
commit 29d0732f8f61ed028d642034e5323b8cdf6a1905
commit 85ecfdda063b6f148335c354c8b7200a49640510
commit 5d6a620875a04e70c51d8366eccae74d9cef0308
commit 6cc213b9aa34bc3213e20f9256345c5cc1495b0b
commit c7b3569b3ebc53e997500be09eb612b6c852525a
commit ab799c16c9d537fa2f070283f1ca63a4425502e9
commit 675d9ac9d0de765531e94f9fdc536989a997a324
commit 24ffa5bb6d363c8164be6af974e318f5752797e1
commit a00a177055cced5cd2bb057a1ace9a95a286bc49
commit 74bad61c5d83f5af8a855c8b7dc8e20377c74d46
commit d91f93c7a7fb9589e62814c1e229943e1259b48c
commit 946e2c5be80b2cf93be34e28b3a6bdadc8ca419b
commit 3e048c8846a658098d935df83050170c8a8fb104
commit 1cb62da0802c8f08e26443a5409edba99b8a1f6e
commit 8141f21b941710ecebe49220b69822cab3abd23d
commit 9710b84e2a6afde2db20cd33435038eb75b91200
commit 17277da26623d4aa8bdda628d0024cf2f2e39ae6
commit 836af5be1b6d8e93d736c252e711a20db7dbde9d
commit 4a4c815b08dc774dde67fb90a0286925f98204af
commit e89d2fec4cde967445e16e02e406481bac380cc4
commit ee0a469cf9175aeb6131c0476c4a4a8eb5997dfa
commit 67c4ca9f794951482c54a7006c8b3c367d6c3efc
commit b41a382932263b2951bc9e83a22168d579a94865
commit 847e387e00547b0cc728a5e61f5beb2ff861ed1d
commit 62eefd10ac1c7e976bda47ff311bd87cee40ab8d
commit 62ed6f0f198da04e884062264df308277628004f
commit dd340acd42c24a3f28dd22fae6bf38662334264c
commit 28574b08c70e56d34d6f6379326a860b96749051
commit f59902ffcc43ce7e1db5d0c4dfee37ec2a1bae0c
commit dfe9d047b162f3a79ab63046608c693ee14c5b7a
commit bb670c31e13a402d30afa3d484403196031d0fbd
commit dee44a7cb577f2aba39e1713a51e9faee2f65534
commit fd69ef05029f9beb7b031ef96e7a36970806a670
commit 62341f7bc2ccb7c024eb023a05714d798ba6437d
commit 0964fbd59e7131c1bad4c8549ec13a27104f0b11
commit 0345c8bc22c92f3d5fc0287957a96fd214297aa4
commit e9180253e22596991db426ab5b01111c2a739db4
commit 4f842ba7cdd83cba1d5c0bbd15ed9d14d882cf89
commit e1dbe625d6ac2821eb29e087db46cb539d8079f0
commit 507293b1b207e419fc7ea4ff1d72c2f1db18e33c
commit 64a905203fd0da3e8a3f649593cc48c9fbab25d0
commit 792be2e23ac69821db7860ba4ba94592101f0b07
commit eaf3adb8faab611ba57594fa915893fc93a7788c
commit c9875d0a789060facc274dee0d4eb6500d471772
commit 671af06690e7f79db51b475a35c3b2619f345abc
commit 434967aadbbbe3ad9103cc29e9a327de20fdba01
commit 65f6e9f7e1319119096a6dc93e62894e4375b578
commit dd3e296289346109d41c6317124f51aee0269c25
commit b3a3c9a6b27b68310f1d4d486f47556808c7c855
commit 5aacf8917fde5bc2a640f3cd49130c0e2e85e726
commit 7b2363e06c0ff4b868e7d768d605a9e656ff61f3
commit 51d334d6a49629ea03a2dde562d46846eb7d07a0
commit b8dc6ca028d9a39196a3a066b9ef2d4a5eca475d
commit be64336307a6c3ee71fe1337c1b9f0495aa83c50
commit 78c508a1c162c90c48e12faa62bdab8b90e6f17c
commit 41cb5a5e8480fa41ee452ee60e620a4c1de3c323
commit 8151a6c13111b465dbabe07c19f572f7cbd16fef
commit 329ee7087bc9862977fb6e431b8b0ea5e7e261b0
commit 00f06855f6e68954f67616cd5560fca25c755eba
commit e80f8f491df873ea2e07c941c747831234814612
commit a0fcd3df4591043d447bb08919eed2ce68fbdb5b
commit 130376ab8300ef06231ebac4db147f06d601d53c
commit 86598c3819fdc70e59d28221bfa7bc36e9f5777e
commit 57b09a168ffe88a4c088e8f7ca5de2ffbb8fefa3
commit c0277b9d7c2ee9ee5dbc948548984f0fbb861301
commit 92549780e32718d64a6d08bbbb3c6fffecb541c7
commit ecabb5e6ce54711c28706fc794d77adb3ecd0605
commit 4eb0aab6e4434ada240286d934651dfdb2e08301
commit 9cc033e07d025dee1fac178c20ba96c56f8d9a91
commit dae5d79a3bcc3101e1e02a1c2999ca74d1efde05
commit b62ef7e4021f74bb12445987efd8109ccca289c4
commit e102b5ed6e283a144793cab8fcd95f61d0ddbadb
commit a225800f322a3d6cc8b8b6c7dc4d5281f2f5375b
commit 1da86618bdce301d23e89ecce92161f9d3b3c5e7
commit 0829b5bcdd3ba077c408e71e22ac2bfa85bf2c95
commit 17419a5c8c75e1f9de01b094f763ec1c6ad02979
commit cecab0bb737fb74813733f2472761fc3a93857b1
commit b7b930d104c38a545d862896759863d649be8252
commit 6600c55ba0d46c6f2f74eaa6ddfe2b66cb8df852
commit b635066c2e0fcf74428b0864c249c1dbcaa4b5bc
commit 94a438a7595bb5a7a2efb94de2dc818845254e4f
commit 372f244b01784b5ee233cdfd732b4c1929ddd71e
commit 91dae758bdb854367bf0811d97acb84e791764d9
commit 636cdf6fbddff4780ff4452a82afb099292b88b1
commit e422c0bfd9e47e399e86bcc483f49d8b54064fc2
commit f5510726608fa035bdd2f1fc167cf4a0f7bee22b
commit dc06efbb7934405461d95bba5b702849058424a4
commit 9d09cac47de5358ace64dddd14278fea002e68c3
commit 0f9ff361ad823b887cfb09dd78ecc8f25d32ecfa
commit 219b45d023ed0902b05c5902a4f31c2c38bcf68c
commit 5bdacb0907c1f531995b6ba47b832ac3a0182ae9
commit 4e996697a443a214887ef81b008c344d183b5659
commit a857add73e61277fb8f688234c9d383130313ea7
commit 89121e5d0857bbf41f1987c3c6019f4f318aec4c
commit 2eb20b96d7696dc354e1b38c511418b56291013c
commit 549dd786b61cd3db903f5d94d07fc5a89ccdbeb9
commit a86ee96ce819800a399e0260c5ffad793c9c6ac3
commit fc33077765e9104f84b49d9b9e0702a41d5269d6
commit 17d6abcbf6249b4ef22f41b255de2be2691ec32e
commit 885c31382509d13fd70f6a9c42637eb72056a6ce
commit d79fdaef2b55deea0df3fc6af4d4ac60e81a527c
commit 08b5a4798713f4331317272752b27b1c4f6a246d
commit 7d113cce5fe92c8bf0a2e2f19f71762a845e9d9e
commit cae39e60abb10ba1e8cc095b7d5567edc9005f03
commit 6d470f9b8cd3e88d097b332bab3e7231f2fb3dad
commit d27a14060f8501e556a65b346b2644be0d0a2de8
commit 969135862e731620b9e03bb0c21179ff1cccfd0e
commit 5d45c01dea6f9e0f2dbed3ffee02ac2e80579ad4
commit 0dc4fb69eb14320ea0fcd9657b7748eec201ccaa
commit f7303ab29d08a551975aecb4bc6851ac3445abf4
commit b7f317e62968979343a4677ffd5bd91dd3edc204
commit 769b081c18b916e362a2b623d7c28ce761c3165c
commit 9aec6f76a28cd669aa98403883edda3a7981fef0
commit 5c61f59824b5e46516ea5d0543ad7a8871567416
commit b9396b49879b6e3d9069586e39432b2203de0a7a
commit acc4e41ec41fa28ae9fbdb1a2750525a7a242743
commit 39fa14e5bdd037f50df0af408da7251e400b41fd
commit 21ff3a16e92e2fa4f906a61d148aca1423c58298
commit 1da91ea87aefe2c25b68c9f96947a9271ba6325d
commit db639278e6217173c21bf8bd52eff2e9a0d6919e
commit b8cdc47adf059f60a39555eeba1db92c503a5061
commit 50680d1698f4d4c9651822398805cb943b7c04aa
commit ec0796e6446352e9e4ecb1804bf470d1ca47c5f9
commit d408d6f8cbbb5ad92b383f33d091f027f5740aea
commit 844efaef48e846b5310b0e7af5e7578762eb7e8d
commit 34e087e8920e635c62e2ed6a758b0cd27f836d13
commit 237193e21b29d4aa0617ffeea3d6f49e72999708
commit c3c5b79b6ed1d7ae7356b51f7c17bd88197bf405
commit 7a26f18119d1daf910cca58f875582d50d0e4974
commit db1aeaf2a1374fb05d82a1f8fef5cbb059ce6a01
commit a0634663d09abcda84eae37e9817490628a034c9
commit 17674d6603eab37a4f7b1cf5ba345d5a1e275fb7
commit 8df39400d0db29f84a72c891d1f526e3b61a332a
commit 6c22aadbf6fd0240181eb4897308153c2aabec2a
commit b5757a5be2fac24f5c138e8ddb3b2c7be8ba1cb3
commit 446d0f4849b101bfc35c0d00835c3e3a4804616d
commit b7ecc44a1b0427d8c71fe2e2d46c4a8dd6e6f64d
commit c6c2e8b6a427d4fecc7c36cffccb908185afcab2
commit 0cee47cde41e22712c034ae961076067d4ac13a0
commit 7b3a4e1d559e892ea563f46f45c504a60c82d70f
commit 3834ce360067b4ee98fdef14571923500a0499a4
commit 9a12b1c7a0595736d398b24712dc1ce79072662e
commit 8641b817392bfb12fb1e71ebb68c31783297bfbd
commit 17d30ed33c8a9e7b866dd7c2ceb4a6858cfcaa81
commit 020620424b27bababf7f53d00692ab919c357a3f
commit c6dbab46324b1742b50dc2fb5c1fee2c28129439
commit c30fb344a2f7fb5d553e98577185d9f8147598e2
commit 45a2a4514320f9c835eccb661601357cb1fefd82
commit 947c0808693e267185c5471f87f83146e4300561
commit a46a7bef7d41ee7787c246f47a656fbafe02f122
commit 3df34334147e73b05480db6cf8353a405597d04a
commit c7d4355648ffa02a1551495b05c71ea6c884d29c
commit 2f93ec07ab54cae66155d0a09182843f358da178
commit 434b3554d6435dc4e19083a2214dee40a88e09e1
commit 311f2b587461f86e3c30e7ac28df38be4a862ac7
commit 0fe20258b4989b9112b5e9470df33a0939403fd4
commit 596a4ec72876f1061f0ef4be47076b093f03b4f9
commit 782cef7fc367542ccc851d93edbed166defdfc27
commit c20da89edb69f05ab78fe804899d50be2596b0f0
commit 95d9e0803e51d5a24276b7643b244c7477daf463
commit 4af0d8ebf74ccbb60d33fdd410891283dd6cb109
commit 680458d41aa46a009909482f58358205b5c4b438
commit 8c4f9e466169b3e411947347fef09382c14e5733
commit ce4f9f79ff8cfc78a064c533f0aab563a5613d81
commit 1b686053c06ffb9f4524b288110cf2a831ff7a25
commit 66e2d2d9a59f896def82a1c8684368be45cf4c06
commit 07f4f9c00ec545dfa6251a44a09d2c48a76e7ee5
commit 98df5a7732e3b78bf8824d2938a8865a45cfc113
commit bd15f805cdc503ac229a14f5fe21db12e6e7f84a
commit 9b7e697839c2745c10f63fe5fd54c9e328fa2e3b
commit 70f83e7706e57200edb8ffa36883b2f43d214142
commit a1fc9f584c4aaf8bc1ebfa459fc57a3f26a290d8
commit 3bb41f2e9134906e0814766c07dfbdd9de0bfaf5
commit 027347d17a16562f3be272833243b835c21aa2a5
commit cd9e9e0852d501f169aa3bb34e4b413d2eb48c37
commit cc2991203c9d4e23051dbe5bcb1fc700fea26992
commit 67ea53a4bd9d03a85eecd99875a2a794c886f788
commit 7a1eb66809390d06b744aa13123b925b64b54c4c
commit 24f483ba49c9acc1139a0b4cbfd1b122fbe1ed7f
commit 5b7813bc6218100d7bbc6d3a1b582bfd64034bf4
commit d6ed53712f583423db61fbb802606759e023bf7b
commit 12dbb3ed212fc7655fce421542a5add637f8af7a
commit 5ac2557d75f94777076885b5119d3b6755e6761d
commit 17b6527dcfb3249401e037734ed3fd0f4752572f
commit be280fddfd645ea0ce4c7a26692c3d1115447e32
commit 1fd2cf090096af8a25bf85564341cfc21cec659d
commit 8f9b23abbae5ffcd64856facd26a86b67195bc2f
commit 267c5876c977d5f2d5a89f377d74adf42b5c38a5
commit bbec7cea6fa4a0463d4766ed0e6bb347773d3949
commit ef6c2cb349c708676b7820c36a5beb75868ad544
commit 61cffacb3a1c590b15c0e9ff987de02d293e0dd8
commit 42b3a6f12aa56dcf789464d29fdf11f33bf0e793
commit aa02486fb18cecbaca0c4fd393d1a03f1d4c3f9a
commit 35c7152202e111968b10140383f49da9159d2704
commit f83cec3b3a7c968bbceb810b7acd1baf3fe8cd87
commit e69c2dd7534f3fcabf7bb801db2a7ac71e7e5da6
commit 9c081c11c62112f1c30ff2426f755279a43fa1a1
commit a85c3db6b3b088f63b5b8c4fd4352f56f0e4ce3d
commit 9e823f307074c0f82b5f6044943b0086e3079bed
commit b2dee0837a4be63e8d3e00550a9f057644f962c4
commit aa539da8aff07ab08def6490e8c9b441439e70ba
commit ea5d6db17a8e3635ad91e8c53faa1fdc9570fbbb
commit 98cae695a8ae0e4291b1fa7feef9b54fabefe885
commit f7fb9d677faf0460131bc2af15afd766d48a1f47
commit a7f670d5d8e77b092404ca8a35bb0f8f89ed3117
commit 6a28a072d90e4543b5e07a904e3a6afad0117e26
commit 1091796fb1d9d6888656f2416ad5c99cfc62a4bf
commit b232c4a63a176ed837e3c6bb4a3ac79a1ca5ef1d
commit 98aded657f506cd5d6d459d68ab4996d9dc0938c
commit 1d734a3e5d6bb266f52eaf2b1400c5d3f1875a54
commit 4b498d19610c6acd36a8ddf622afdefe4ab093fe
commit 5ddb0a8aa8e4754a8fb77e284e0d6f46c2350f88
commit b080a60731ad909eae4463684acc23d322e93579
commit 52e371914ed37f531a8d8c3b4cf1a1af2753eb6d
commit a884dde8d9b6a4a817cc39663db824e5602a8001
commit 1eda95cba9df35f1fb0fb4b89511beb6603c614e
commit fde7679a2b374c8c0932f5cc48438a312f3f442c
commit 29323882aa48fc9f273db5820babf32c979359a9
commit dfa5543193f303a7270ec7c725e656970faf7d57
commit 202b85da0a2fb6f034f0290af841e0f29352af9f
commit ab0d6ef864c5fa820e894ee1a07f861e63851664
commit f0ffa657e9f3913c7921cbd4d876343401f15f52
commit 4551d60299b5ddc2655b6b365a4b92634e14e04f
commit a98a1a3c448820dfb3974839e1ccedf80b6fcacd
commit dd925902634def895690426bf10e0a8b3e56f56d
commit c7085d08c7e53d9aef0cdd4b20798356f6f5d469
commit 23ab1cb6591dba7c97b65eb407cd71147bd878b8
commit b0ee81dac3205db1e01019629c83595e9433d96b
commit 8d3a2d3d766a823c7510cdc17e6ff7c042c63b61
commit 3396900aa273903639a1792afa4d23dc09bec291
commit a809b92ee0f84c3f655b16a8b4d04bc3665d954a
commit ddda6542c85304eff31fe433cc0fc2c0d03c8f3d
commit b3a901841ed1edd65b2f4cb9dd890ea1e2fc7551
commit f366d8804fc58f87b682bb02e8bf970b08e5df7d
commit 21d6376865219277ca91bf95f9e54494c1ea7ae1
commit 7f75eb222d5c8c4b166ff99a38c85a3de97e0647
commit 649ae0e0d55f6d432ea73298929560ecdfaabd05
commit 34aa0a87f83b5322bd8541cd9534179c90c580d6
commit cb2f92569a2b7809a0569b380b9a6f2afa368cb2
commit 9aec90f9e545fba64ca47c18c37c588fa0d71b22
commit 1b9e8095fa3ac29e3a00ba1326976b479fd809e0
commit c6cbfc18138a22cfbffb208be92b18a531233528
commit d0fc54a201d673013b031ebce32e5d8a7e3bfb70
commit 6276706f33cc38ec59ebf03b680240ff74740c8a
commit 7d085bb17e3cab501218a7a4604aff6c4a8b9585
commit fbc64aafc99baabe4d4e4d5a58d6113aad7909c7
commit f76506358078809461866086c5e224d949002016
commit 2e5d47fe7839298fa096970e184aac9bf82c3bd3
commit 5a891a0e69f134f53cc91b409f38e5ea1cafaf0a
commit db3461a7743817ad7c73553902231b096616813a
commit ed7171ff9fabc49ae6ed42fbd082a576473836fc
commit 437ad4534a15ccf538ddb440cb29d3f445251605
commit 8a0f58ec4728ec04c654645bf8ed4070821ebbf3
commit fc7c7498db3da52efe874029a9c2ccc0ad2646ee
commit f9e491c8633277d5398f384cf1fd1a477e04363f
commit 37ee1456239cc5680f672f37417e52db2349965b
commit 406792dc2a5c82e2f312e10c3c2c887de6ef80a4
commit 57a372f67688dc7aee23a2a00bcaf6188f592934
commit 15789fa0f0e29cf802f30d0e308da9c6b18c116a
commit fb0a5834a338329bc665c7ce2b89f3e376557565
commit 5fb4d2a77113d3ebaa5c9dcdbef8b7bdfdeeffb2
commit b5e1a3874fe3cde73a4b02870bf3e8fa43777c5c
commit fdbd69486b468e4963b4ef9f76901d3788252dd5
commit 5d0112f77793c0351faee6c723a6fb9191c12be6
commit 6f38589e170f7649bb4b5efbff6b681c31433440
commit 4c953e53cc34f8601b7b7c6286c65322452d35fe
commit 186020c16650d6f7a05774ef318ae9056aae4f21
commit 2e9bbdd7b7cb5f364a917e7c6eff2a2c36f11895
commit 4dc4422f11b041a9cb7a86f2f9bc310e48620fa2
commit 31ef969301e58daaaed1728690e16192b77b9028
commit c4f503551fd65e50e657219c9bfc2987c51805ca
commit 27ef61f9617478c432bc477d4eed8963deb89f24
commit a48f31fb78265d992c75d45bea215998367d4956
commit d082e5cde489caf7b29e966a9dbbc3fb43fb9164
commit 3ec2ad7c34c412bd9264cd1ff235d0812be90e82
commit 0f2c243dbfa008cec2dad03ea074156b6b176a03
commit 89ec85d16eb8110d88c273d1d34f1fe5a70ba8cc
commit 3fbaf475a5b8361ebee7da18964db809e37518b7
commit 20588d5afce3992ff4fc9b61085e3e1affbac620
commit 27a74c125d029d0606b81ef865bb68dd975ca2f7
commit ab10f7748789fa9247949b530d8ee7d56eafe9a3
commit 6d88c0f94ac07ffc9f08e459cca036f4af08617d
commit f685b38455b0c990a0f018a17b238d8ffb5acccc
commit 4af8071b654dbd9b8bd003ab8e49eb16b4cb9fcd
commit d479158f6502a3698b91829fa03bd3f2ea38efe7
commit b5be054c585110b2c5c1b180136800e8c41c7bb4
commit 76acba7b7f12517990f326fabfecb6f55e334233
commit 478efcb90b074f0fdd18e62b30ce09140bd69022
commit 5b7a59de4845460a313d93d4839258bfb982357c
commit d4f1fde734eb73767015272dd2e8af1440b30a9b
commit 32aada4d0a35ee613ffed23090bc23e1b40da419
commit f3c958ab857927e1ef2cc6806fcb0eb3f36c923a
commit 8962915044364bb7c36b3018f74371a798aee46d
commit 9d87dac3f9adbe30d545c577aab483dfce71143d
commit 46553db49cf7b7dce95879ee0725f7d95de3c184
commit dc57edda816df4fb43bfc2809675e91d15994195
commit 3a50a51d04d2ca5066949073274e70191104f8e5
commit 439c3b124e9ee704766040d5182ccdaeb4d45499
commit 837cc7f1bf2bbebb05781efb6bc1b10d5c2e9308
commit ef9f3b5fd9d2594766c60b1e12b0e72e4918512c
commit 2239aaa204f1c5002018a02903df7e45a0e0e503
commit b910cacb4e70066238feafaf3f2430ef2c8c3b12
commit 0eea81ee2e12900bd5276558434b675b52ab2d5d
commit bc62abe1b92db4e027a92a6799f2193bb93970ea
commit 1a2103d68547407a098c237d7cade79b4ad2b88f
commit 2dc3851ef7d9c5439ea8e9623fc36878f3b40649
commit f49280ffd254e718ee01ef515fe91854fdf005cf
commit aec773a1fb0253494b85b073f46a0ba1d798b726
commit ee7a846ea27bcbef5182d15923339a7bf182ec65
commit 96595204195d7e13736a84295e217316610d4cdb
commit 19cff16559a4f2d763faf4f8392bf86d3a21b93c
commit 0523374e303051c94457df9170f12a752d8b09cf
commit 852856e3b6f679c694dd5ec41e5a3c11aa46640b
commit f784750c670f7c5ac572590ddad77a89b4c997bf
commit 3dc6da76ae55d667fca2c9f9497e8ea1a27497b1
commit 7970cb36966c9b9183255dc097ae0446300eebcf
commit 53fdfa19e6a9220a14c0bb21273880774ea70dbd
commit 7f0d7bee2079fc899c8280e177b0c0feb8b9debe
commit 0d92cd8935a3fffbbfee0fd59cdc89ac5167b14a
commit 2750ff97ee385b85195c5579ee911a551fbb0dd9
commit 770bd1d341130ff38feda169177159cd78389cfc
commit d16ef1a18e39a5086a419d8b3c71adb30273881a
commit 226d92e49a7e7a7f5a3a37a34df7c319b72009fc
commit 4099cfda9dd856222d7cab6970a65896375616d5
commit 6b77dab5da721f2fa9d3c3611e1cbaead8030706
commit 7116c35aacedc38be6d15bd21b2fc936eed0008b
commit 492be2a070f023c66aaef6ebd664567fda28c2a6
commit cb8f81c1753187995b7a43e79c12959f14eb32d3
commit fe828fbd87786238b30f44cafd698d975d956c97
commit 737ad3776343f6fcffee9d0d849dcd6f6b25f05a
commit 11c742bb5a26d4adc873f6e6e2b69a59e1eae285
commit 8a879141dcd15d2db876ce3adf88b9b01650b7fa
commit 6841a26e2c6715dc52a1cdd888e958dd2a92a5bc
commit decbfaf06db05fa1f9b33149ebb3c145b44e878f
commit 23683061805be368c8d1c7e7ff52abc470cac275
commit b9d228a5b2ebcb1f1f63170f5b20bc2f9d276168
commit 00b8a47d8ebe0419e649dc81b96033f6db6a4746
commit a055c91ac6ea493c2508401537e8732dd2a7bbf8
commit 6a60273a0e8274820210abcfe7ec0d5f1f38f458
commit f7c4a15225faeffe1e9f9a752097e7d85603ffef
commit 91a759d402b5c17263f82097c647e784f217e2d4
commit 97d1f449c359207b2fb5bc62eaefb7e21ad619ae
commit 64ddf5123eff2edf47202e08744c3c14a9d28f59
commit e139c0eb22ce5b2ab6a2056c1ff495f3a38322d7
commit b61c4bc674c6032827f2682a0c72ff577c36143f
commit 1453323eac4f13817a07f40e78e76dfc635aab34
commit 7586fc52b14e0b8edd0d1f8a434e0de2078b7b2b
commit 3338e4f90c143cf32f77d64f464cb7f2c2d24700
commit df2dbc925fad3274b952b865f85d26d1e056c1cc
commit 60db6f540af9f93144d5039140aa2ed17171d168
commit 051c86afc342aed1f84d66ff5d09dc9e1c1685a1
commit 04b5b362bc2a36f1dfe5cad52c83b1ea9d25b87c
commit dba1a6cfc311833e10df978f07147ea93b7045fa
commit e189be9b2e3820c88164d95090f1fd6343cd77fc
commit d361ad5d2fc0e4d59d5d538092c9b37889756642
commit 22ff907d4f0457b2800f4c6d4f40d4d4d31f7de1
commit c2e70d307f4491ff970208a41cce84c95771f340
commit d4c38154951b2bff6bfa4d5eb56df0bd08703cf9
commit 335288315af18c0def7f47a37fe7eaa782c98f6d
commit b1f49ff9cbe14264c7eb33462fb700c49c7d91a8
commit 234eebe16138f94de3046f60c52763dc17fe5fed
commit afefd6f245024684fff75100052065d6a9e8f75f
commit b710dbe55dee946d82bc4815c40373cf8a391581
commit f846250b8a20e6c1225c64ce87a90d4f29cbf351
commit 87758a0ef12cfebb9fab8ef1d0e234dd7b3f4579
commit ccf8ef6b7506cc43e7fd504a85465c1c0786a107
commit 9a16042f02cd08bbd0a5a2d8e9c95347717165a3
commit eb067d65c33eecd4b81771384183ad42eec259bf
commit 18ac82c26da45d033df7eb993139da83dd53ee68
commit 9de60462cdba60f575f97ca2655533b35273c715
commit 8783a18409b48455b3a63f0cd930c7c88beee93d
commit 7c9cb6d1bf122fdac6a7d51f7dd8cc2d8c94b452
commit 4e9e50b6aeda3e3ce727453c5455cf08c68dac8b
commit 272e6aab14bbf98d7a06b2b1cd6308a02d4a10a1
commit f327189389785b26e49904a7d3ba0c96506a4586
commit ec9e2e7acc6dabb8f00c2c60785931310caaa883
commit 2344413205521775d3b1d418e5659e3ae3bc263f
commit 20b5a8f9f4670a8503aa9fa95ca632e77c6bf55d
commit d07722e1fc749fbd78992650b6d00c9a2619be70
commit e389eefe34cebc6219dbe76a923b342b2f31e3ba
commit bf2bc61638033d118c9ef4ab1204295ba6694401
commit 186fb12e7a7b038c2710ceb2fb74068f1b5d55a4
commit 88c511dea151b931ba4873119b1b3555aac0ce53
commit a9556637a23311dea96f27fa3c3e5bfba0b38ae4
commit f15e5587448989a55cf8b4feaad0df72ca3aa6a0
commit a8efd8ce280996fe29f2564f705e96e18da3fa62
commit 609d8b1c422cd8d1f93bf526fb236f2e07687e7c
commit 255fc1703e42321b5afdedc8259ad03c7cc533ec
commit 32a42c93b74c8ca6d0915ea3eba21bceff53042f
commit 77cc3f6c58b1b28cee73904946c46a1415187d04
commit 4cce34b3835b6f7dc52ee2da95c96b6364bb72e5
commit 5151fa35ae5979821d091b80096b4c790b187bac
commit fca0abb23447c37a6bdbc76798c24623a9b69a11
commit 40520283e0fd11237ed9dfc0991503b3403d5fa4
commit 321d6b4b9cbe3dd0bc99937d5e5b4d730b5b5798
commit f6d9f39f8d9167627bc0f9e3e12ee0100c1c1919
commit 80431c017f745a818ea45ae6a8373b737f73b1a8
commit f89001ea41771fe94005920c363dee43e8078bec
commit 0e35457eb4b75f2bc9eca58a46d12e200e15e47f
commit 770a961d581c577b579d8d38414b2bfc0b4766c2
commit bbad0090b9f4735e35e9881278b7a353f71b43d0
commit 9e7a74a12101bb07ccc22fb180c5e44051c5a407
commit 44a37ba12857c78389cda176c093967406250cfe
commit d20c2f8464280550aeabd2766728590cf0ca8a4d
commit 2a2391f857cdc5cf16f8df030944cef8d3d2bc30
commit 5e9c0d1c5ea355679f5b2a57b0c1b5932d78719d
commit 11df68c265460d4dff5d19a1313f0fff69470f98
commit 453afb1a439994deeacb8d9ecbb48c1f2348ea0a
commit fa509a33e34849cce6c17f969991dc87a864fbde
commit 7bb98ca6542e19a9da7cc322114bb4867acd9614
commit 85878978fcd2812eaca309ead436bcd38777f6f7
commit c8fc8346bdd097d624771e606aef93644c072ef2
commit 5a48d67ac336436ed4a79c1c9e036a409b502329
commit 4446387572fb7952a387b8e45e8a96b4f08a2a53
commit dfc88eac97e2177844e5dfa877f2ff60c73bf507
commit e0446e122eae43c173d0c99375e1b2cc8da009a7
commit 168448111279e639e3296ee5c19e0cd96756422e
commit 69f0925c67c21c1e3ccda152d2b6ce21c363e563
commit 244fe1666364865154930f34d8df5489df1922b6
commit df99acc7ba1be9f111debdb75e00539fed8ad21a
commit 6dbd43dcedf3b58a18eb3518e5c19e38a97aa68a
commit 6062ea9398d3ec09c521774f9d81f604d1a85fbd
commit 0567f18e0757a260031e59487fe01f402c16c0de
commit 8b5ccc9743ab026b12075eb5e3883cc9e42bc683
commit 1144e0dff5e68907cb8d3e2d64d1c00e2a96d1b2
commit 136367290ea5d7b5d05696189e9fd6162b9d9742
commit 15ca09499bc669b600dcdaf01fc0bf8c55e15b35
commit 34e804220f693fe6bb1c4e50f27dd855e9313f0c
commit 919bb54e989c1edef87e9797be125c94c450fc65
commit dd6ded6e87a97a32e06c10b7f6639eebb779257d
commit 58cfea648ff3b3bd283c03f094f24d379fe6fa82
commit aa451ae76fda24f919174a17df31c290f91a953c
commit 852791985af63bcfd66d7f6ec160cc5f9fcb020a
commit ab0b0eb5c85c5961913bdb9b8011cc8f5c14978a
commit 065ca63e161a1ed7e619ef7dea0c7c6435ee2f8d
commit 1c8f80c2aadf76daff01ab133fb11136e7248746
commit 6133cf70725049344a679f85df27d146a2d995ea
commit 4b570ac2eb54f66ff64f2864be6303b8d67cc7f9
commit db6341a9168d2a24ded526277eeab29724d76e9d
commit e28604d8337eac97fa956d6682b6312741ce85a1
commit 01bfabc2d1d8aaffe5268f8df0843a6d916dcbaa
commit 75f0efbc4b3b088cca20864d055b3854a51b5af0
commit 8f4eca6ac52a72181b4f054d4ef6289a5d8cfa5d
commit b05d6476ae2dde8eb447f907ab689083499edeaa
commit 40318a2406bd426c6f4591269669c04e8eda571d
commit 988bfa0bc67d7220ff8d9e2ba3a425727aa98af3
commit 0e405395e0b162075001b9c027443dd10b723a03
commit 570867ef90550b01f0ca0f919dba308c3f2fb605
commit 2845f512232de9e436b9e3b5529e906e62414013
commit 4416377ae1fdc41a90b665943152ccd7ff61d3c5
commit 73dd0ad9e5dad53766ea3e631303430116f834b3
commit 875ff9a7ee8824200885384effa7743892a34ed6
commit 010cc730ace807c6d267481b5fb6ff99acc35c46
commit 6ef29715ac06fad7b3e43086cb4df97952c3a4de
commit 3376f922bfe070eff762164b3fc66981e3079417
commit cb5164ac43d0fc37ac6b45cabbc4d244068289ef
commit 537ef0f8889761ffe3a6cb4a7bda4de47fe2d69b
commit e45b6716de4bf06b628a9f3559f7fc8dd5e94d58
commit 58a261bfc96763a851cb48b203ed57da37e157b8
commit 25ebe10e3f4c897a2d348a9d4b674ee9ea28225c
commit 5b993d00d7f0c970a5e5d34c1031069fb13b6986
commit b5de6a5ced074910b8fe57d3b0ab7f8843f85a3a
commit a323782567812ee925e9b7926445532c7afe331b
commit 6eb2aad402cc94ab4dd3780d8fd94c5c9bb7ed4a
commit 501d94389310bb282915e730386d1150b13ae321
commit a64e7e5b05e014dad9ae5858c9644d61400ec6ef
commit 122824165471ea492d8b07d15384345940aababb
commit 66a0f6b9f5fc205272035b6ffa4830be51e3f787
commit 6628851159c77cf5666160e0272d46acc0772a6c
commit 3126d5fff54368288e7fe1c0fd4ecb36b868e5aa
commit a4dbe45c4c14edc316ae94b9af86a28f8c5d8123
commit ff9c674d1127e768050fe418470e74586985c87b
commit e24b0ef20a20cd26a770c66bf87d911838ea00d4
commit 65112db0c21022cb1caed5a03c6392eaaf984c14
commit 4836c6cc01a16f1ac2b436550299474ad7183c46
commit 6729c73103bd7a0e60b0c980b51b5434010b4502
commit 1b5dfd1881dbe303536d4167500b94549ff2f6a7
commit b330f148017251810fc1f0c297f51b3039b796e0
commit 594cf78dc36f31c0c7e0de4567e644f406d46bae
commit 51394119f640423858a2f04076d6f1c3e83fa715
commit 67733d7a71503fd3e32eeada371f8aa2516c5c95
commit cf4d37b8157ca085c17fdc1faad737465ff311b9
commit 22bc22ccf95bfa6eb6288ba4bc33d7fc0078381e
commit 5fbca8b48b3050ae7fb611a8b09af60012ed6de1
commit 45c4d994b82b08f0ce5eb50f8da29379c92a391e
commit 071d583e01c88272f6ff216d4f867f8f35e94d7d
commit 037f93434ce9aea3dc19ba2d97e888a12e538f7b
commit 54f90b03335916e21c417a31d0926841f7d97c56
commit 9c57bc08652a7c8e0e355c52c023fddc090fe9bb
commit 002353a537a29b9be5bde3c1d9964628f0d20d45
commit 11b7309dbe9fa98d9b8d18cd51db4f385c37ae30
commit 19f01d4bbe9daf71901b200ab5c52591946b022a
commit 8a04e342684a75ad1455fc3f23fab8e67c1aa9fc
commit f9ae00b1cfb37ccf57017bf9cd82712ee0a5316b
commit 3f53d7e442197b7e7d56b470b02dfd37a8bc5c46
commit 4461e9e5c374f8c11fee8e4a0e3290b072cfd538
commit e55ef65510a401862b902dc979441ea10ae25c61
commit 01cc7b2e8a59fcae0c4493720561e5b33a195fe7
commit 014125c64d09e58e90dde49fbb57d802a13e2559
commit 04cf420bbc32a599aa2481725f708435ea19bf3d
commit bbb05f8a9cd87f5046d05a0c596fddfb714ee457
commit b932d5ad9257f262a0bfd1bd7146120b0adc11a7
commit b86a6a57b8ad1699ba8b1c270a79678383baf632
commit a08d75927f99e57c793f3a5d11260c22893fc0e9
commit 3d054c40766024d9d8fb051d017ceacf2b795f1c
commit 5d666496c24129edeb2bcb500498b87cc64e7f07
commit f0b7dcf25834afd17df316367dfe5d4c890c713c
commit 949237a34dba3f0218857f5afa0dde2076dd8c82
commit 6dcc304f85898b099b35c63748c5e11ba56d0c8a
commit 87d23164d89c3898a0acb4ec0b431e787c27a91e
commit 6692982582a54e7ecc80d7b0dae5db6cd47e2567
commit e565b6b0b5eee112db803bd955fb0387ce952d54
commit 4437936c6b696b98f3fe1d8679a2788c41b4df77
commit 9793a4a6e5eb8764c7410c361984ed01722bab9f
commit 6efc0ab3b05de0d7bab8ec0597214e4788251071
commit b4148dc2fa062cdb94b5165d39827bcb1a3daa28
commit 1b0ce903fe747d72e9eab86a06c79fb2c7ba2bab
commit 469a486541b6eb0d695a5558e68851fef35c16f7
commit 38d6f7e27d318cf41c2376980a105d02ac6e8b16
commit 3715112c1b35036039e8c4f75868a0b56a71a51d
commit ff95eabe57368d641589441e8f638b4d59f79a82
commit e45a3933bb3ebd9a2ac95b6b60da029ee3a9f4e7
commit c50fe289ed7207f71df3b5f1720512a9620e84fb
commit 97c6efb3649724e6163774f0e7405c5ca8b1097a
commit c66f4711f79c937832b6c0e0b1805061667d99ea
commit 727eb1e3f014e66dcdec53afc6f5bfe0d8c0871d
commit 7546a8201ba288530ed1bbf2a8bdcce5e034a234
commit 789e51597d33ec0053b029127d797d86c0d857eb
commit 379cad69bdfe522e840ed5f5c01ac8769006d53e
commit aec8485f226c36eb4eea1d489772cd6f2c40144d
commit bad928d2cae5d4d5ec1474ae7428a797fb34c111
commit c72084163cd22ebf59d936669ec25b1fc2b7494c
commit 3adcf970dc7ec0469ec3116a5a8be9161d17a335
commit aeb4ae66cb50faddf60be9297d0d5d392aacdd3e
commit a7f657097e96d8fa745c74bb1a239ebd5a8c971c
commit 87d8ecf015444c51ea9d9154f633f98b7748a724
commit 33929707b808ba7839c40c15d3e68cbc51070b31
commit 4548f10bf4c67b569b7c9fbc6746340a558faab9
commit b71ccff68ef1a5bd1c02d0fca01ddb3d9088329a
commit 175d648be98bae22eb22444377dd9a0c497c9d46
commit e0cb0c785250d0565c19ba17fc95bd7ab97670ba
commit 076403a69837c1f8454ceced3ed6f0465835f4d1
commit bfbdf72d6c145e008805f0745ff79f9b8e301e0e
commit 33eca84db6e31091cef63584158ab64704f78462
commit 84addde447fd9d713e101437db0d4924855eff4f
commit 81a1c37c8b52eff636e77a794d0f0620c3a40af0
commit 21bb04152a18ac2314ef4186b6dcd46f1b847354
commit 70a65a5de23337c0c0251c482520224ac80bdeb5
commit eb4556f25fb4cb3a005a93dcc6dcc4b0c024f5f7
commit a69dcaf9310ab09ed97711e0fee08e59218ed8a6
commit 8d5ac8efb6d94efda53f604fd9c072b4754a3d85
commit 2039809783d630c1022bb3debe648abced7861c4
commit 06358ccecd75bfcd988f347f79592e23159aaaa2
commit 51e039542b87cb649d50ea3b5cf90847be32a30b
commit 44378f6ef2efee3ccfa87de5860662f2356bdde8
commit 07226d09a200b92797afabd3a5131a0b504344c1
commit b5d4657e192ba7a3f21fc397cf5d169982b4ec0c
commit b2fcb48214980adf6687dda84fa33f01e9a47e28
commit a74549dd55d21612171334fb70e45241d0ce0487
commit 2160f6f6e3cf6893a83357c3b82ff8589bdc0f08
commit 7293859c51e1d7f923073aa46e2072333b3e143d
commit f7c2ea682d8ba17bfd37abd1e734348e0cf46c99
commit 5ee2d63ca1201ed23c6595cb2fc927222215bce3
commit 7745a1dee0a687044888179e6e7fcd6d704992a9
commit a9b67c036c7f5d187fb88eb74fe04dff1098700f
commit 7c1a2d8aba6cadde0cc542b2d805edc0be667e79
commit 6122f5c72e38a88eda13c7168e2ebbd3bd80b681
commit c67db6a6a6be4bb1db1b0fd5b24040d68e461cb1
commit af76ca8e180f38a7d874c18cf810707762766627
commit 30e8f4c2bd532c44af0e0fad9c04e7d2970b91a6
commit 28d43d0895896f84c038d906d244e0a95eb243ec
commit 1e487c9173ca12ae372f71a5f5c0eb57ce0ab108
commit 1125f95cd2455b51ad1c16d7f96ae39117083d20
commit 96316211eb5c4b58f34099e9e6f71fdfad7af01a
commit 52491d97aadcde543986d596ed55f70bf2142851
commit 6c0a7c3c693ac84f8b50269a9088af8f37446863
commit 02a416afbe127b1c9ce85ffa340c0a32dbc53184
commit 70c33a2710cd08a4be974a1c7f9cdb5601a8806f
commit 4f7d8da5e349c1126cdfcdd2ceede00382ad2ceb
commit 8bdb468dd7a5d17f8556afdd4c8d046939ff965f
commit 6d0ebb3904853d18eeec7af5e8b4ca351b6f9025
commit 641bb4394f405cba498b100b44541ffc0aed5be1
commit 16ba2b28df3a83443fc6b4e5491189d2e5caca64
commit 65fe9617a1256f0a36696d48f7c63a8d3ec290bc
commit d69300abc2dec930fd280a013984150ae7c6a386
commit 2bd87f0fc24ae29ead9808d341497f465b339c0a
commit c5f728de696caa35481fd84202dfbc9fecc18e0b
commit cad08fa7760ace5e01b24c6f9e1f918fe72324bf
commit 3034cc8107b8d0c7d1b56584394e215dab57f8a3
commit 20f61c1ead989e5d16f35bd0a546c6233b703b69
commit d7eafed3223af19add14b67a390ec2b983d890e0
commit 2bb3fc536d692d43cd55396ecff73c7691eeae85
commit ddc94d0b17e8ea8179ecbbefacac3fba0fb77265
commit bf758226c7e6927f1c2c34fd6eb2cb580b77f543
commit 590b9d576caec6b4c46bba49ed36223a399c3fc5
commit ccbfd2df3018e2694f750abe5e93b647a4eef5b1
commit 83e5af5997554115e198c2e9e97564702eac04a6
commit 6a2161a155f92985b21e38a9e8b9217f620d606f
commit 14ee9fa87d8c96b23d77397b684fb431c5bc2677
commit 3eac4684ecb5ea696bd283bd7f35e4829973f4f8
commit b1aa0491fad27f030c94ed42c873c3f46f5e7364
commit 8906064715c16571e691f67c2746ed1bf1bda6b9
commit 390fa93e6efef330baa2785edc2a484f7ce0b292
commit ad17b124c3a08241da36eb94a6f076446432743b
commit 6f4835f9df2df7eee0af74c850d0a06166c199eb
commit c66db9e9a025006d729c87143c3f43b5873b4a1f
commit 988fe2862635c1b1b40e41c85c24db44ab337c13
commit 0ba3cb8e7cf08223a9246ded3c1bee25a74d1f7f
commit b3e9bfd86658b562a33b1ee8563d59a593327aaf
commit c24538c4aa352b68bd5c429b7fd3ccf4d4407143
commit 8a060e9c17d0fd7a182e335a52dcb5fe327e3d86
commit 6e8410944767381524544390ce030c86f07399da
commit efaf15752d113e81a5e9f25f57dc203f7c3007ab
commit fc5da5c00c0a4880220f6f539293e49c766fb93d
commit 29d3d6af43135de7bec677f334292ca8dab53d67
commit 9888773753333ee7bed1697abd6fd9c84239cc4a
commit f2ea269bd2a55c4a28a9b825424b059a20259793
commit 072b4414784524b6debda1b3b2ffbf10d66095e9
commit 7d8e9e65f23040b2f9e9670bc971d3ec8fa69d47
commit a10c93931b61b22ff6601f74192151d548b0b14b
commit 1741281a157fcfacf46dbb6ce39c13bf2699d371
commit 2f3806f781421ce6dfa60471eb2116627c0eb893
commit 097af47d3cfb99ee02afbdd7e0d9596eb012c65a
commit d1f214432110748603dd310fbe6099df875e6f04
commit 2480599890296b386839bc53367c10f19d97716d
commit 8fe4fde381a103114903f823c6d18457b4b891e4
commit 8b2429a13feaee01d62bc248417343586f6fa489
commit 01b4ae38e5dc6798c6cd477be9c363c5ae45fa7f
commit 178ad0e280c088f5abfa61793cb992fa120d1830
commit 4d5ddfa4b1b2bf1e936b8d38735910480f9545ed
commit 01163079e136e6d6ce4474b964b8a7ec954cac81
commit 1a1995b1dc948d471854360ec0fd3306f54dfbae
commit bcee4c3f89879e15ef57f3217ded97f00b1334d3
commit 01d05521f7e2523045d3ff7b857dd68db276d31d
commit f8eee864ba5cbe1447a68949883f69228e53b138
commit 21818f39beda2e843199e5d8d9e3f9e43c8080a3
commit 3f2d35c325534c1b7ac5072173f0dc7ca969dec2
commit ead60e9c4e29c8574cae1be4fe3af1d9a978fb0f
commit a1498ab229ca16dfc35331dfb309f8e28b84bb5d
commit da6ec743397702e0b551bcacfeaa48829d303a29
commit b3b91369908ac63be6f64905448b8ba5cd151875
commit fcba2ed66b39252210f4e739722ebcc5398c2197
commit 9f6b47907e2d01bfa90c3003e42b6dfeefd8d03a
commit 059f6fc89968f4f4527f1b706de8017d368ad9dd
commit 1138137c2c48f036b87e80cf3905c1acbff6b0de
commit b34b43f9cb45ac15b0e48b5570af9e074959dc68
commit a954e0a26146c465934f4944d49cc03324747917
commit f70e43763e6a550f5b50ba4f6a0d6aef5121ecba
commit 402bd11a5394636b2bc9712a58b97bc3cbca69df
commit 631ef2e6adb0aec8d639dbea17c5ed08c8364df7
commit 8a37cd4dc50e8f29168dd5bc766ba40a1968724a
commit 41a46296214fa07cf5140c9ac9254e095bdcb960
commit 7134cc23fe73f4ddeeaaab9284399cebfd826c51
commit 963ed4efe0c6416f5a2f61e107ee3a27f0bb757d
commit bc947d9a8c3ebd207e52c0e35cfc88f3e1abe54f
commit 8da19441d0a02b53e362df81843bb20db3a8006a
commit 34bb7b813ab398106f700b0a6b218509bb0b904c
commit 7a199557643e993d4e7357860624b8aa5d8f4340
commit 596a7f1084e49cc65072c458c348861e9b9ceab9
commit eb7205b7cbff5f9ddafedf82b62590aae0a72dc0
commit 4da5a95bf125fd682249f60e296455c6413b4e10
commit 4453808d9eab0461dea338e89372ffc4a3c50acc
commit 4c4e9cb58dd75c87300ca63307ef7d4f9656eda0
commit 7b17e8f3a074ff4558527f6c595f49444a2c6fa0
commit 0126c0ae11e8b52ecfde9d1b174ee2f32d6c3a5d
commit 2c7795e245d993bcba2f716a8c93a5891ef910c9
commit 6fbbb660b1d423a777d7567b7475a6a01aa7fd91
commit 760e3c8b3288279841aa8a71e6d65c67a3934d01
commit a3cc326a43bdc48fbdf53443e1027a03e309b643
commit 0607a50c004798a96e62c089a4c34c220179dcb5
commit 4481df364d2038eb4a8f5150367b47955940f027
commit 5359d5bc975466e8791d7f870ea4a96f1b0973bf
commit f5a972dfe3e993f09cf12bd36389a942ecd23350
commit 2578487ebe6ca34fe9cd950bf68e8158639ddb1b
commit 559a285816af5b72284a6ed65eb82a68ee497d60
commit e146a7ab218626827b7c06e189e69cd2abcd1d37
commit e8397d327e7b0d6132197c9d8fd7977f84f3dbd9
commit 01be2b62c0f3c66832472ed3e48e61d631094606
commit 101025e94b537e8b5426c73a985b26fc95c199cb
commit 7eafe7a730bad6f0efb62b2d260f1ae3f2d09b95
commit 663b0f1e141dc60ce6c09ae6afc5f213b22d13ca
commit 27f9dcb9cc067d40077e116ac062e185ccd7a0d8
commit 7ccde2e6c0a5e50e11b74353b456bfe602efe6aa
commit 0df8ef6e1b5dc7a6edc6242a95f47a257ffecff0
commit af04e65f6b66339080fba0d5f44a759647371652
commit bd7c8ff9fef4b21a97f9b30a7364845ee6eaaf23
commit 2ef8d63da81d9e89cbc1eb4867d638f88bf5dc78
commit 2f7eedca6cecbfad52d5b52c1550066d9252c947
commit 578aab4ecc73476393389440724b7a391cc0cea9
commit aa47fe8d3595365a935921a90d00bc33ee374728
commit 25d48f2eb0af1f0e6f09f54a1a1716f48c0722c9
commit fedf6db3ea9dc5eda0b78cfbbb8f7a88b97e5b24
commit 88dcad2d07c8d82e6a097c8e74239eb67333bcf7
commit b8faa981a7e62848ca4ba1c77282dfdc71d0edf5
commit b2d4da31a1f40b05a61076efd4c79b88439003b7
commit 6c6ca71bc1653d00623702ae031d0f9bde06a6fc
commit a4500b82bc85f7a15cff0729315c96015849e9e8
commit 4c3140fea6277e1478ba206e8f45b9cf7a128cb9
commit 32bd3eb5fbab954e68adba8c0b6a43cf03605c93
commit 741d73f587d5cc86db5e65cc107e031263302616
commit b615b9c36cae0468491547206406a909a9a37f26
commit f7e3885aa80559d5e497eec18e6909d594497c13
commit 0289507609dcb7690e45e79fbcc3680d9298ec77
commit 0c8c5bdd7eaf291b6f727e98506fb68acee3a4cc
commit 70a6587dca37a3cf12ab323f7fd73266abfc274f
commit 83dcf232cc7919725a331359a300fb3929651b6e
commit ad92f52312614b0ef6eee07ee64f1e7661072a49
commit 457ca96d04f599d2f95bd61144851f2181ccacc4
commit 2efba0c095419f93f8913f1cbae8bf3fb030db20
commit 70b4ab5489da0fe5b699a8466aa4f73ea304ae65
commit da9a73b7b25eab574cb9c984fcce0b5e240bdd2c
commit f1a4dceeb2bd4b4478e4f0c77dac55569d153fb3
commit bf05aeac230e390a5aee4bd3dc978b0c4d7e745f
commit d92b90f9a54d9300a6e883258e79f36dab53bfae
commit 9498f2e24ee0133d486667c9fa4c27ecdaadc272
commit fcd33d434d31a210bc9f209b5bfd92f3b91a2dda
commit ec2231b8dd2dc515912ff7816c420153b4a95e92
commit 8f72c31f45a575d156cfe964099b4cfcc02e03eb
commit 2775df6e5e324be9dc375f7db2c8d3042df72bbf
commit 26df39de93bb8763bb3088db6c76eb98d4cd7213
commit ae2c6d8b3b88c176dff92028941a4023f1b4cb91
commit 9ea925c806dbb8fee6797f59148daaf7f648832e
commit 21d1d72475809734a5149ecfffdc7551503b042b
commit 52755373ea6197dac40b9804ce967611b5e989bf
commit 0da531c82a0fcac65407d28ecdb2a1e19c833df5
commit c389a0604cfbcdb1f8f53a76560eb31e0700e206
commit 28b0ef922738b74335c20b8ed4bf8e259353a3a3
commit 2f27fce67173bbb05d5a0ee03dae5c021202c912
commit 7ab9ebc580617831355843f19224f1e31bb8e983
commit ee06c09ded3c2f722be4e240ed06287e23596bda
commit 99b1f7493bfa757b03d41ee6d7f7d00f81fcba5d
commit 69bbe3adf36de47315498c9384f99a1ff9171694
commit 73d10c7788f6d2b7badf9973afbdea7ca433c15d
commit ddc73c465628ab3e60f7eb5b4063b644c18b6336
commit 9460f4bd5970f2e46fe190a0cb9814697bd7f21a
commit 6c10ba06bb1b48acce6d4d9c1e33beb9954f1788
commit bfc00a7754c40544c7446d3b664049d6e00ee0bd
commit 902b4027216aeaabe1562e1db070550c06f3ec89
commit 0110ac11952f06419d267f51a3989e989b17e67a
commit c400ec6990fb04a2ec9929b253dafa7e77c7f555
commit c77a46bebe99e70600e636a3a1f285637c479f46
commit 2ed186df27f078eb75c52d09e04aa7b0f9920f57
commit 3c75518cf27aa5a7e22e1f8f33339ded3779079b
commit 03b5038c0ad069380fab7e251d2bf3f1540d20f4
commit 797fb1533315571ff9e55e80154f48cd47f3dbe5
commit c1de938fb7e5edc4c71d33f73e9fc5c77feb02a0
commit 7181faaa4703705939580abffaf9cb5d6b50dbb7
commit 151b1813919d4ab932e69ca4032761ee0789b04c
commit 2ae6cd583c4c86c2b7e879b07effb8ffb10756bc
commit 2778701b165eda674756537054d460fb4b0cf2e2
commit c03fca619fc687338a3b6511fdbed94096abdf79
commit c2ed7002c0614c5eab6c8f62a7a76be5df5805cf
commit f588da30a20cf184f150420e4098b694908a4207
commit d18a56b247f4f3f7dbdd3adeeebd05c23f1e3d3e
commit 5a3d3e11349c2e298c0b6b4d37c8241f44d37e3d
commit f57b77d667dc6bd2b114d08d04b03869539209f6
commit 0765b2afc1118a6ab5fee624e206c782d70db28a
commit 09cb922c4e14e6531979bff4e6bb3babcd9cb188
commit 401c90c4d64f2227fc2f4c02d2ad23296bf5ca6f
commit 3766a840e093d30e1a2522f650d8a6ac892a8719
commit ae5100805f98641ea4112241e350485c97936bbe
commit cf4cebcec619d963fa7496018f03cb0ff00dc257
commit e79563bf5fb17d1a199c7c0f7d5a7a98c077302a
commit 07bfa9cdbf3cd2daadfaaba0601f126f45951ffa
commit ce83ae29f93772d604b4ea73459fb17822d6a6b0
commit ff599ef6970ee000fa5bc38d02fa5ff5f3fc7575
commit b6499840cafca25175f43ebd601913bf31d06f16
commit f510dd5c210bf8cc22e4be48cbbda3cb754219f5
commit 4bdc5b504af7de1f649004cfdd37445d36db6703
commit b74571a83fd3e50f804f090aae60c864d458187c
commit 327e62f47eb57ae5ff63de82b0815557104e439a
commit 199888aa25b3a3315360224bda9134a9b58c9306
commit fa8a4d3659d0c1ad73d5f59b2e0a6d408de5b317
commit 06c9aeb57fe894e6e442cd66870cd3e863bbf08c
commit ef126c06a98bde1a41303970eb0fc0ac33c3cc02
commit 42ac749d5b8bf78b347ac8a52eb15cc397b157a0
commit 54b86443fd4437c051aefd3f462cfff4defd420c
commit f2be7b39e43893ab5361115de2b95e7c5c86f190
commit 375b035f689735fd7a87ff31ccac3a42717252bf
commit e7d4e1438533abe448813bdc45691f9c230aa307
commit 042658d17a54c9dc8c028986dfbde49f4aa01871
commit 7b6df1d73290961ff0a00fd0022f28dd19e37181
commit d5a29e6a61028887bb8480e7c4af3547d6f3862d
commit 87d749a6aab73d8069d0345afaa98297816cb220
commit 6dcba0975d39b30be65dd038fed69e1aa111c73a
commit 856265caa94a3c78feaa23ec1acd799fe1989201
commit 84f76408abe989809de19d02e476b044fd985adc
commit de848da12f752170c2ebe114804a985314fd5a6a
commit 617a814f14b8914271f7a70366d72c6196d17663
commit 7856a565416e0cf091f825b0e25c7a1b7abb650e
commit cac075706f298948898b1f63e81709df42afa75d
commit f8ffbc365f703d74ecca8ca787318d05bbee2bf7
commit 3a37872316c2e3288e09a1322221c83e5929768d
commit 440d52b370b03b366fd26ace36bab20552116145
commit f0fa69b5011a45394554fb8061d74fee4d7cd72c
commit 338aae5478befee9e0e66afb78c2ad1e8d69825c
commit d7126c0cfc137a580eba92bd82b6d288bd43961d
commit e860513f56d8428fcb2bd0282ac8ab691a53fc6c
commit 8b0d2f61545545ab5eef923ed6e59fc3be2385e0
commit 4771d2ecb7b9e4c2c73ede2908d7e7c989460981
commit 126be9b2bef9c7068fdd464790d82e6d70f9d8e6
commit e1d27f7a9cea1e0c06699164e3b177862e7b4096
commit 6ae9e1aba97e4cdaa31a0bfdc07497ad0e915c84
commit e45b011d2c4146442a388113657b70f0c7cad09b
commit 8048e5ade8224969023902b0b3f64470f9c250a7
commit d52ac79053a2f3eba04c1e7b56334df84d1d289f
commit 4286cc2c953983d44d248c9de1c81d3a9643345c
commit cbc8764e29c2318229261a679b2aafd0f9072885
commit 087913e0ba2b3b9d7ccbafb2acf5dab9e35ae1d5
commit 3cb576bc6dfb8940228b8130638860b631dd428a
commit a8387ddc0d15a365dd04baaa325a863d3612e020
commit 34ad56a467c320d07db22146cfb99ee01704a5de
commit d7d2688bf4ea58734d73e18edcbf4684b1496d30
commit cb787f4ac0c2e439ea8d7e6387b925f74576bdf8
commit e7268dd9bb9953a9eb0df9948abf5195bf474538
commit 994aeacbb3c039b4f3e02e76e6d39407920e76c6
commit abf201f6ce14c4ceeccde5471bdf59614b83a3d8
commit 43102a2012c2e2f8424d7eef52aede8e73cf2fed
commit 394b52462020b6cceff1f7f47fdebd03589574f3
commit 2cd86f02c017bf9733e5cd891381b7d40f6f37ad
commit 2b55639a4e25ff02ee496368b03456bd28ebdc0b
commit fa998a9eac8809da4f219aad49836fcad2a9bf5c
commit 282864cc5d3f144af0cdea1868ee2dc2c5110f0d
commit 7a1f30afe97294281a2ba05977688385744f9844
commit f9e7ac6e2e9986c2ee63224992cb5c8276e46b2a
commit d51160ab00969ee6758ed2dcbc0f81dd476a181c
commit c36df0f5f5e5acec5d78f23c4725cc500df28843
commit 05af800704ee7187d9edd461ec90f3679b1c4aba
commit ef785ca7f7c80891580cafd36c8dd86375684310
commit 52d4e3fb3d340447dcdac0e14ff21a764f326907
commit 34f50cc6441b7fee4a86495d5ef43da5d254bad9
commit 9286a191abe2ea01b34be577e8a09a412dcbb644
commit 5f60d5f6bbc12e782fac78110b0ee62698f3b576
commit 156cc376a200aa9890c1f71c5e3d2fec874a7d07
commit 475be5144459b502d8aa987637dd4d9f38422786
commit 240ebf1c9d4ce1576f58e10365fdd3bed8aba7dc
commit cffa8e83df9fe525afad1e1099097413f9174f57
commit 790533e44bfc7af929842fccd9674c9f424d4627
commit 2d2be279f1ca9e7288282d4214f16eea8a727cdb
commit cb58977016d1b25781743e5fbe6a545493785e37
commit d1ef967126e295d36201e79ec64efdba31710353
commit 0f18ac78aa974660a948dafcc45f4dc6e2c5858d
commit 7929ffce0f8b9c76cb5c2a67d1966beaed20ab61
commit 3bf90935aafc750c838c8831e96c3ac36cfd48d5
commit 6ef5a04221aaeb858d1a825b2ecb7e200cac80f8
commit 1b30f87e088b499eb74298db256da5c98e8276e2
commit 9e3c85ddea7a473ed57b6cdfef2dfd468356fc91
commit 74231870cf4976f69e83aa24f48edb16619f652f
commit 67801fa67b94ebd0e4da7a77ac2d9f321b75fbe0
commit 8135f1c09dd2eecee7cb637f7ec9a29e57300eb8
commit 7257d9c9a3c6cfe26c428e9b7ae21d61f2f55a79
commit a6f3b2527375c786f2eff77d3ee8b805bcfe026d
commit 301d194d01f3074efcf3a10eae116fcddb76788a
commit 5b272bf7dcf969eb4f19ef994b6e60458ee6300f
commit fe6fceceaecf4c7488832be18a37ddf9213782bc
commit 4cc2718f621a6a57a02581125bb6d914ce74d23b
commit d7d7b947a4fa6d0a82ff2bf0db413edc63738e3a
commit 8e82d1199564ea0baab7be31f6558406bab4fe1d
commit d6b9f492e229be1d1bd360c3ac5bee4635bacf99
commit 0a9906cc45d21e21ca8bb2b98b79fd7c05420fda
commit 79bc412ef787cf25773d0ece93f8739ce0e6ac1e
commit 04e0481526e30ab8c7e7580033d2f88b7ef2da3f
commit 835745a377a4519decd1a36d6b926e369b3033e2
commit 32fda5650625065b8ae6dbd9967fb572d3835c35
commit db7f92af626178ba59dbbcdd5dee9ec24a987a88
commit e863781abe4fe430406dd075ca0cab99165b4e63
commit 42465603a31089a89b5fe25966ecedb841eeaa0f
commit 3fd76be868ae5c7e9f905f3bcc2ce0e3d8f5aa08
commit 1badf482816417dca71f8120b4c540cdc82aa03c
commit fc4d262721705f2a7b860946504e7b8a313f06e1
commit fcddc71ec7ecf15b4df3c41288c9cf0b8e886111
commit 28a5dfd4f615539fb22fb6d5c219c199c14e6eb6
commit 4809a017a2bc42ff239d53ade4b2e70f2fe81348
commit 512a9721cae0d88d34ff441f2f5917cd149af8af
commit 26498b8d54373d31a621d7dec95c4bd842563b3b
commit fe4a435bd0c20beb6d7caf87b49bc49a2233b18b
commit b634acb2a070c072900c56154aa43e2ec2d45b2d
commit f07fd958a49264eebc1db9c946eb5d2e91c470fd
commit ac44ff7cec33d5c2d4b72d52603552ec64c1a8bf
commit fcf38bc321fbc87dfcd829f42e64e541f17599f7
commit d2c72d96dff5ba408bb107193b53e3134a516c4b
commit c0ec082f10b7a1fd25e8c1e2a686440da913b7a3
commit 7760d7f93c764625fedca176891238675fd06d62
commit e7457532cb7167516263150ceae86f36d6ef9683
commit 68d26c10ef503175df3142db6fcd75dd94860592
commit 7a1613e47e65ba6967085ad99dee95420346a0ce
commit 28127dba64d8ae1a0b737b973d6d029908599611
commit cb07c8338fc2b9d5f949a19d4a07ee4d5ecf8793
commit 69b3d87212676c4c22aa4660435e2066dc7d1311
commit 2f54e71359eb2abc0bdf6619cd356e5e350ff27b
commit 4ceead37ca9f5e555fe46e8528bd14dd1d2728e8
commit 03a86c24aea0920a1ca20a0d7771d5e176db538d
commit 761f916af44279a99db4e78c5f5ee839b31107ea
commit ed931fb40e353586f26c3327813d142f782f5f78
commit 82926f52d7a09c65d916c0ef8d4305fc95d68c0c
commit 477d665e9b6a1369968383f50c688d56b692a155
commit e7518276e9388d36f103e8c1c7e99898a30d11f5
commit 4e8b5a165160e2f521cc10bae58ce0b72b2e22b5
commit 816b186ce2e87df7c7ead4ad44f70f3b10a04c91
commit 6df106e93f79fb7dc90546a2d93bb3776b42863e
commit ffafd12696d1a4c8eeb7386d798d75e1fafb4e01
commit ec1aab7816b06c32f42935e34ce3a3040c778afb
commit e5a3c24bcaf7bc1c3c2647395aae5de4660c1c64
commit 5b3c0209e88a67a8d029ed8b6e30bca383cbdc55
commit c09c4f2a972ca7cd9c8926594aa2099bcbcd3b79
commit 7626b4e96bdbbadca046a775c6b8e02b842c05e7
commit 49ff3e79a7f49e269b0278e75d35d6421f5538a2
commit 83f000784844cb9d4669ef1a3366479db3197b33
commit 338b655a1178900ac05aca7ac66dc28b05100430
commit 85e444a68126a631221ae32c63fce882bb18a262
commit 5c23878252515b8d2b86839bd4cb7dea7088aacd
commit bf58f03931fdcf7b3c45cb76ac13244477a60f44
commit 9515e74d756b6825f6119823d41b437832d89355
commit f888e3d34b8641a551eba8e0fa26209c5392eec8
commit f67644b219d458d4b314e78f2304b73985390311
commit 23d16ede33a4db4973468bf6652a09da5efd1468
commit 63feb35cd26557572ad95fc062ede344bb61d9ad
commit 108bc59fe817686a59d2008f217bad38a5cf4427
commit ba1959f71117b27f3099ee789e0815360b4081dd
commit 7c210ca5a2d72868e5a052fc533d5dcb7e070f89
commit c8fb95e7a54315460b45090f0968167a332e1657
commit 22ef43c78647dd37b0dafe2182b8650b99dbbe59
commit 69418db678567bdf9a4992c83d448da462ffa78c
commit 9c1813b3253480b30604c680026c7dc721ce86d1
commit cdc21021f0351226a4845715564afd5dc50ed44b
commit 2ba1f81ec7cbb2a9920cd3435c515247863b32a6
commit e3e1cfe33f932860e070eafec8df8780e3b889a8
commit 4d95a12beba146b0ca2de59c7ce905bc0aadfd0c
commit 746ae46c11137ba21f0c0c68f082a9d8c1222c78
commit 4aa923a6e6406b43566ef6ac35a3d9a3197fa3e8
commit 935abb86a95def8c20dbb184ce30051db168e541
commit 25f2ff53838ccbd5ce558b5d23fac8a5d7f86655
commit dcb6c1d071712186c213c26b245779f7859b9cec
commit 6a9d2e2988fa3ef9b03ddd9ba9aaa54dc23635e6
commit 5d01b56f0518d80211812420a8907ca0b6c6e4e3
commit 412a2a8fdd4eb89b263623c7a59b77dbfcf8f215
commit 4700fd3e050da8302e60ebd4850d008250fa7204
commit caa714f86699bcfb01aa2d698db12d91af7d0d81
commit 926163342a2e7595d950e84c17c693b1272bd491
commit add4163aca0d4a86e9fe4aa513865e4237db8aef
commit 993ca0eccec65a2cacc3cefb15d35ffadc6f00fb
commit fe05cee4d9533892210e1ee90147175d87e7c053
commit 8594a2d8d72d86b70b8bace607100d88111aedf6
commit f99c7cca2f712d11a67148cfbe463fdefeb82dc5
commit b0ef514bc6bbdeb8cc7492c0f473e14cb06b14d4
commit b04ce1e718bd55302b52d05d6873e233cb3ec7a1
commit 7fd3fa006fa56c0ec299c61ecf5c572c723adad5
commit 4b468a92ddb2985da66823910a1643349fe6447d
commit 55e8a3f37e54eb1c7b914d6d5565a37282ec1978
commit 7d1e2580ed166f36949b468373b468d188880cd3
commit 1491efb39acee3848b61fcb3e5cc4be8de304352
commit 4f26c95ffc21a91281429ed60180619bae19ae92
commit 694c79769cb384bca8b1ec1d1e84156e726bd106
commit a6dd15981c03f2cdc9a351a278f09b5479d53d2e
commit 1356bfc54c8d4c8e7c9fb8553dc8c28e9714b07b
commit 74e1006430a5377228e49310f6d915628609929e
commit e301aea030d60da760f85f854a82ce788d5cf6e7
commit 3ce3f85787352fa48fc02ef6cbd7a5e5aba93347
commit b46dadf7e3cfe26d0b109c9c3d81b278d6c75361
commit f790a2c494c4ef587eeeb9fca20124de76a1646f
commit 4d75b9468021c73108b4439794d69e892b1d24e3
commit af797b831d8975cb4610f396dcb7f03f4b9908e7
commit 64a2b6ed4bfd890a0e91955dd8ef8422a3944ed9
commit a353c78459f4d116216393cc29032ef5fe1472d2
commit 514447a1219021298329ce586536598c3b4b2dc0
commit 052ef642bd6c108a24f375f9ad174b97b425a50b
commit 444fa5b100e5c90550d6bccfe4476efb0391b3ca
commit f432a1621f049bb207e78363d9d0e3c6fa2da5db
commit 9b984a71c240ed9287d6358109f6a0c6ab5bba32
commit 1a6bbc4d9e55d6c9df2dfe7d4f2705a544d8ca13
commit b8d9d5fef4915a383b4ce4d0f418352aa4701a87
commit bd8a9576617439bdc907c9ce0875909aea4221cb
commit 6825cb07b79ffeb1d90ffaa7a1227462cdca34ae
commit 9fc0cbcb6e45d6fc96ffd3bb7b6d6d28d693ff4d
commit 16dd2825c23530f2259fc671960a3a65d2af69bd
commit d641a151fcaf0d043075b214b469a14abab25af2
commit df0279e2a1c0735e8ca80c5df8d9f8f9fc120b4a
commit 0e5ac88fb918297a7484b67f2b484d43bed3fbbe
commit 79365ea70714427b4dff89b43234ad7c3233d7ba
commit db0fc586edde83ff7ff65fea56c4f72dae511764
commit 67e023b93d69e5a21b16f9602656a803d314e825
commit 5a67c31669a3aca814a99428328d2be40d82b333
commit 4bb2f52ac01b8d45d64c7c04881207722e5e6fe4
commit 5f77ee21eb44e37e371bcea195ea9403b95d1399
commit 7013a8268d311fded6c7a6528fc1de82668e75f6
commit 3387e043918e154ca08d83954966a8b087fe2835
commit ce0d6970231903f43572a6998020fdc8b3a8f455
commit dd886a63d6e2ce5c16e662c07547c067ad7d91f5
commit 46f1f4b0f3c2a2dff9887de7c66ccc7ef482bd83
commit be7eeaba2a11d7c16a9dc034a25f224f1343f303
commit c0403e4ceecaefbeaf78263dffcd3e3f06a19f6b
commit 21ec425eaf2cb7c0371f7683f81ad7d9679b6eb5
commit b6ad7debf5ab3e581b5cb0f5c94e404ec968bd5b
commit 9776c0a75a1a86b753b2dc7c1ecc3baa048a8dec
commit 93d1f41a82de382845af460bf03bcb17dcbf08c5
commit 32c4514455b2b8fde506f8c0962f15c7e4c26f1d
commit 99d051c4b33cfb451dca0c30e28da25db2ce4d7f
commit 1eb0de899b1eafe2c3aca8763c99e5c5ed791561
commit 21c1c6c7d732c2f6f4c5ffc77e103aa3ae8bff1d
commit 44f392fbf628a7ff2d8bb8e83ca1851261f81a6f
commit f48ab0a39f12fd83fae13bf81152531565cd5e75
Signed-off-by: Robert Foss <rfoss@redhat.com>
2024-11-21 22:32:41 +00:00
|
|
|
* Implementation of @dma_fence_array_create without allocation. Useful to init
|
|
|
|
* a preallocated dma fence array in the path of reclaim or dma fence signaling.
|
2016-06-01 13:10:03 +00:00
|
|
|
*/
|
Merge DRM changes from upstream v6.11..v6.12
NOTE: This commit does not compile due to missing RHEL-specific fix-ups,
which are split out into separate Git commits following this one.
If git bisect selected this commit, run "git bisect skip" and try again.
Repeat this until it selects a commit which compiles.
This commit was generated using:
rhdrm-merge-drm v6.12 RHEL-53570
JIRA: https://issues.redhat.com/browse/RHEL-53570
Conflicts:
Conflict resolution:
diff --cc drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index a6b5ab89b7ca1,1893c27746a52..db88bfc044b5b
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@@ -2677,15 -2727,13 +2727,16 @@@ svm_range_get_range_boundaries(struct k
return -EFAULT;
}
- *is_heap_stack = vma_is_initial_heap(vma) || vma_is_initial_stack(vma);
+ *is_heap_stack = (vma->vm_start <= vma->vm_mm->brk &&
+ vma->vm_end >= vma->vm_mm->start_brk) ||
+ (vma->vm_start <= vma->vm_mm->start_stack &&
+ vma->vm_end >= vma->vm_mm->start_stack);
start_limit = max(vma->vm_start >> PAGE_SHIFT,
- (unsigned long)ALIGN_DOWN(addr, 2UL << 8));
+ (unsigned long)ALIGN_DOWN(addr, 1UL << p->svms.default_granularity));
end_limit = min(vma->vm_end >> PAGE_SHIFT,
- (unsigned long)ALIGN(addr + 1, 2UL << 8));
+ (unsigned long)ALIGN(addr + 1, 1UL << p->svms.default_granularity));
+
/* First range that starts after the fault address */
node = interval_tree_iter_first(&p->svms.objects, addr + 1, ULONG_MAX);
if (node) {
diff --cc drivers/gpu/drm/panel/panel-sitronix-st7701.c
index a69e861eb1130,eef03d04e0cd2..56a4041f5ef5c
--- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
@@@ -12,8 -13,9 +13,9 @@@
#include <linux/gpio/consumer.h>
#include <linux/delay.h>
#include <linux/module.h>
-#include <linux/of.h>
+#include <linux/of_device.h>
#include <linux/regulator/consumer.h>
+ #include <linux/spi/spi.h>
#include <video/mipi_display.h>
Commit list:
commit 9fc97277eb2d17492de636b68cf7d2f5c4f15c1b
commit 7c0389c615b5c6aef1b0e38e30db759b3cbff885
commit 627c961d672d3304564455ba471f5e4405170eec
commit 8169b2097d88d99d7e4a72e20e4b549efe9eb8d7
commit 67d90d679eb3447f73e2a1fe55f7e6c6a44c9fa1
commit 2e524668c440104633af1effcc85d1d6234c7ccf
commit 96e7ebb220f8a873321cfc5a87bc4533d36ec444
commit e8babb280b5ef904df54b3a90e5a7e3a9600c4a9
commit 282e6f846d8c3fcf36293f68f38d814645c3b852
commit a708f6501c692551e3d4ea618c44021f436730d9
commit 04e9c0ce19ac68afd8be7fd54772db3b0356cf75
commit 9dae9751c7b0086963f5cbb82424b5e4cf58f123
commit 466a6c3855cf00653c14a92a6e9f8ae50077b77d
commit 3078d9c8b6a0939bc732fd1c36ef86c0178127dd
commit 01570b446939c3538b1aa3d059837f49fa14a3ae
commit c55f79f317ab428ae6d005965bc07e37496f209f
commit 01e0cfc994be484ddcb9e121e353e51d8bb837c0
commit f3a47a269119ade7ea22d0465c7fbe518ca1bdfc
commit 74e3076800067c6dc0dcff5b75344cec064c20eb
commit caaf1f44a6a27bae33eee189842c4d8fc21c3b02
commit f592e01664b4a57b109fcf6f6916145517f94bd7
commit 6be74ddd0609959b4005f88b6a4d4af678e4a71f
commit 9c62fb62c9f0761eeda8f2a9517e007ff2cdbe9a
commit 8e9bf0fb10a79aaed37474600948cd33d14aa606
commit 4c44f89c5daee9540cb7428de5d835bd00951350
commit da966b82bf3d16f89a05732c933a589ec798d3f7
commit 10efe34dae798c652053d4363871914c478f1475
commit 3756310e9fe1e0182adac89cedaa98c0eea66675
commit 1dcfca093be9e013a53e3c9b74b3f60ea9c5160e
commit 014e597d35816b56c7aac1348b77c73657c4066e
commit c4ce398cf18ae2859cc9930a9486b576ce262de9
commit 533ca79cd9f734aae56814445e3f1e6cc1a50358
commit 56ab6986992ba143aee0bda33e15a764343e271d
commit 3d122660dc70029d9cccb4e8670125f0affa959e
commit 7b5bdae7740eb6a3d09f9cd4e4b07362a15b86b3
commit b2013783c4458a1fe8b25c0b249d2e878bcf6999
commit ea74bf9ccba9ae80fc0766c07c4abaef927e9e63
commit 7fbad577c82c5dd6db7217855c26f51554e53d85
commit 33891539f9d6f245e93a76e3fb5791338180374f
commit 24179ff9a2e4524ce83014b8827a73ad03a25c13
commit 7f58ebaccb67cb22b2936ba79c844f1e446dc73b
commit a16b680a2140e6cbda41ac144564696c3ee2815f
commit e4bd1db1c1f771983393bf5574854dff26ca7532
commit 0e7f4e6a20d550252c4f355d5a303b1d9c8ff052
commit 76299a557f36d624ca32500173ad7856e1ad93c0
commit 9d8c094ddab05db88d183ba82e23be807848cad8
commit 71733b8d7f50b61403f940c6c9745fb3a9b98dcb
commit 993d36ac99efeafeb7b5f12353def6d7d20d6389
commit 0daf44ea9dccfcdb1fe694e9ea85497b6cc3a065
commit a4d5ce61765c08ab364aa4b327f6739b646e6cfa
commit 211ad49cf8ccfdc798a719b4d1e000d0a8a9e588
commit 4613aa66e42ba1b0c896495a207b3b26e94e44d5
commit 61fe488fc78a3024b8d4cafc90a34158f4562dae
commit f6ca930d974e473fd608fc9aa1759fbe731fe44d
commit bd85e00fa489f5374c2bad0eac15842d2ec68045
commit 57c2b3e684ba3e82e9944bc1975e047bd1630537
commit d6e850acc716d0fad756f09488d198db2077141e
commit ff10c99ab1e644fed578dce13e94e372d2c688c3
commit 0237368193e897aadeea9801126c101e33047354
commit e97701a069612ba2fa1d92b56a720b108049df4e
commit 3b0974d7b74a908d1caa27f05a97551943e1bffe
commit 09af6037128c101c280c95c56d970ce8475506c2
commit bc34d310b578952d37b5200a7fa7475ab2a2bd5e
commit fd5a9b950ea8ba2c08ce07418b36b296a04d712b
commit 6c9ee258b1f4e7021224c9bf541fe6b17a03ee40
commit a5beee65241d25ad20dd814668c975ba13a42615
commit da9bbdb97469383a2ac97435a3b09543d14139fe
commit 4c46e34e67587b268abc3916c9613426018561e6
commit 94900000380300b230dc1bed489b598a2a2c55a1
commit 6a1738b3fdd92d48e61de438d05dedbc00fc598f
commit 566ad72ba636b745beb8a440bd4c05e779b95728
commit 4290eaa8424905dcee4daa0666ec841dc3a0bfb3
commit f89d7664c3617836aecd291c56c8ab63fe228fbd
commit 4d722029930bca7f53d99dbfc300a40dc297dee6
commit d43caea1faf5c31dc02aa1adb8bb1aa1c33bf86f
commit 43a6faa6d9b5e9139758200a79fe9c8f4aaa0c8d
commit 6f1cacf4eba7a3203f08954a7e00b744e43f741c
commit 4c3fe5eae46b92e2fd961b19f7779608352e5368
commit 86c5b70a9c0c3f05f7002ef8b789460c96b54e27
commit cd3a2e8b0a0367c636cd82efaf7802cf85ae5dad
commit 7bb97cf915884956311352eae3f444eaaae48cea
commit 3ac9384061b250ee40eda5facff10b85e2d5d3d8
commit 45d30c828c613441bfbe5c97ca766854152b7181
commit a237f217bad50c381773da5b00442710d1449098
commit e1a261ba599eec97e1c5c7760d5c3698fc24e6a6
commit e02cea83d32d3a616c9ef8b6b50a83444a6bbcbf
commit 7dbe8af13c189f5937e87e9fb924d5bbc49e6f71
commit 452bca0edbd0764ca0284239d5438b3edd305ab3
commit 108c972a11c5f6e37be58207460d9bcac06698db
commit 54f07cfc016226c3959e0b3b7ed306124d986ce4
commit 8d79acd567db183e675cccc6cc737d2959e2a2d9
commit 2b808d6b2919cb2fe92901e5087da7b4ed4b9e07
commit 523f191cc0c728a02a7e5fd0ec26526c41f399ef
commit 8a92e2a67f627e69dd52aa9c2d3176be13aef2cc
commit 3849c6ff3a1517e4c8a6d004d9cb31241c849713
commit 775d0adc01a55fe0458139330415d86bb3533efe
commit 275aa53f59df769802f28a0a623019aadab2e05d
commit bc657615e10ddd7637dcc05811194ad7e2baea33
commit 99e0fb8b087120b5a7019f1cff6c5c2b5b925ae5
commit 0fde907da2d5fd4da68845e96c6842497159c858
commit 5e4e1ed6b87b6b3a3531cd8b5cfa9c3b09d841b2
commit 104bcfae57d80c484185c012cc0ee8d8d5889a7e
commit e4a0251d36fc6c190c545aa95702eec0efe05a4f
commit 7108b4a589cd6d3a2c1276fd610b3500f46de66a
commit 0c977ff2b807aa53f655f095b0a306f18d8cf7be
commit 3d0c4a62cc553c6ffde4cb11620eba991e770665
commit ce8c161cbad43f4056451e541f7ae3471d0cca12
commit a2387e69493df3de706f14e4573ee123d23d5d34
commit 2149ded63079449b8dddf9da38392632f155e6b5
commit 754c9129b9494b2b058add1d1a627fb3c9466a03
commit b345b3542d66fea49bff53288d347ccb06fa1b3a
commit e8f834b559621d634a939381caf99a024e272211
commit d6460bd52c27fde97d6a73e3d9c7a8d747fbaa3e
commit 5cd522b5331b348302fe410dab1cd070e4fd6998
commit ad16682db18f4414e53bba1ce0db75b08bdc4dff
commit 89c6ea2006e2d39b125848fb0195c08fa0b354be
commit d5070c9b29440c270b534bbacd636b8fa558e82b
commit 9f774c42a908affba615bbed7463dd4f904dd5f1
commit c2c2a91f3868515969a758042887fdc722216525
commit 3a9b77cee7502f7450c725d4ead2c4a44924d158
commit 7e33fc2ff6754b5ff39b11297f713cd0841d9962
commit a522b285c6b4b611406d59612a8d7241714d2e31
commit 61ac035361ae555ee5a17a7667fe96afdde3d59a
commit 0a382f9bc5dc4744a33970a5ed4df8f9c702ee9e
commit d930c19fdff3109e97b610fa10943b7602efcabd
commit be1dcdffa8fadc22ad272f605a53e2a2fd30e7f8
commit 2885d283cce544cf3619f35f0acb3d073de036e1
commit ec92c47d7d098e85eae7fb25c6bc07158686e675
commit f6f22012e6c73867b959524604984ee5ebfd105f
commit bd40536ae33911bc74df5ba3b29b573dcb72f904
commit 8bfab7cd8335b10bad92e44f58c5a038762bcbc3
commit e17eedf56ea7afacd919a3d6cc75a617cddd003a
commit 8f3d86f13eb2b37d86fc48df8995dffd9b7d9010
commit 37db1e776285518a7e1269b868d094a4532b2d54
commit 57ecead343e724b6ea38e9c2d8f794b293cf2951
commit cf1e6edbd1c8ba654f97071ccb748d87ef0115aa
commit 9790bbe3ba48b659c0152f49552f6abc18f85bc8
commit 25ec7e809cc1fe9f01a71199d29092f6f1b4611c
commit bc3ca4d94369838c3b6668a183467d4a69a5a482
commit f00bfaca704ca1a2c4e31501a0a7d4ee434e73a7
commit 7e0fe233aa0849de8a0a5e60cb0d71dfb359664f
commit d4b9b6da5777bb03f36f01bb6b05c6cc303ededb
commit b26d9dddad7bca6727069f6a26b265d303c65c49
commit bf32a3a1268638442ac43b347e4a4a09044dccea
commit d5e79eeba3086a52593b295ac4bf6eddd64d4aad
commit 9c27f613d55f8ffeb3f250d9d34e41edca3df3b5
commit 649b93dbb902ae3237fddbe998eb1f4de1a14b71
commit c8a31ff6199f12ca65d73f1235117c1d9e6365a9
commit 8af13c3fc1259c1b8cfc4459d3701fcf41ad74df
commit 1fb4dceeedc5f0d1d062ddc44c4a426e1639e387
commit 19cc4b7d75b52df2b4fbb76428a6b0dda3d248bc
commit f763c3b543d80ebcb94dd19a69324bf2b72b23ab
commit 08bed7e4ff24f90e200defcd2c23e70b0a3cd710
commit 43796955a89572c63f7f96e271a2849c27d18f2d
commit 00bb3223bf7cfed3c9c714e994cbd454cc3e6b73
commit 1eba165aa40c79f65f487678c8ea8e77b1c6a5a4
commit ccb54d7d91d256485cfe5403a12abb0175ce4539
commit 0f1a93704a5cf53ce819a7c544125442666d61ce
commit e84f798a93881062cd14ce316a68068edd50bfb4
commit b68417613d4134b9e39fff95e72ca726268b47db
commit 4ccc8fdcca670edd76d8bfd6389f04c448cff6f6
commit 5f30ee493044e9ea3a46167e5597a96f5c302adb
commit 0961367cb5208850a123d235d147f92f586b2491
commit 98579743c4561acc3b1c7d2f3fcd46b2160db5ba
commit e8d77cfdd2698039667432b8569bac34d13508c1
commit bc2fe69f16c7122b5dabc294aa2d6065d8da2169
commit 3c9154310af71802de2f40c5689b66009a407f37
commit 5fc77c26970d443f1c020ee8a5d475ad6b81e15f
commit c83ecc0bee94995117329fccbfa6e8b43ce56044
commit 218784049f4b90834dd7b854857df0b7e0f76567
commit f5c783868855bbecfc4311050dbaca4cb28ada5e
commit b3c9c9affd71f1f9b136534d6f56f392edb78620
commit c18fa08e6fd8952e88fa9ad108371c2bd5b82564
commit d94df7cad26b4c5958fbfa550d65794c89aa90ba
commit f60881ca126cf825b89b4118e93dbd82ea9bcf33
commit b995c0a6de6c74656a0c39cd57a0626351b13e3c
commit 367cd9ceba1933b63bc1d87d967baf6d9fd241d2
commit 3718a619a8c0a53152e76bb6769b6c414e1e83f4
commit 5559598742fb4538e4c51c48ef70563c49c2af23
commit 1ff12bcd7deaeed25efb5120433c6a45dd5504a8
commit 35ff747c86767937ee1e0ca987545b7eed7a0810
commit 892abca6877a96c9123bb1c010cafccdf8ca1b75
commit 906fd46a65383cd639e5eec72a047efc33045d86
commit 5d2c102deff63ff8980dfa848ee41858d255c291
commit 2563391e57b5a9c1d83fd36c05ac4cbafeb5efe6
commit 5ed9481db74740fd33ec4079b29db88e8c9f4a1c
commit f91a9af09dea850d83d4b217b8acbafd97b5c61f
commit 39d496d4721ba509647a70041f38d82b03c74680
commit 4e8eac98046446d99cbbed740f0767204b839f3f
commit a41d58fb91248557438de4e8298d1d2ed5b39564
commit f82200703434522f1b35d38bdef02486d22b2f25
commit 9932ca4c03c8181601f611dd366fceb765329800
commit 0beca868cde8742240cd0038141c30482d2b7eb8
commit be1fb44389ca3038ad2430dac4234669bc177ee3
commit fdd5ecbbff751c3b9061d8ebb08e5c96119915b4
commit 6d64d39486197083497a01b39e23f2f8474b35d3
commit 323b19f424486e61784e8797a8bfb2e24585e162
commit b8d3782da396215615c3d125f0829d1d06ad2c97
commit 08cbe68d4aafcf651a86730a485df53e6ee9f594
commit be7a6a5171649c39f79a6259518218351082bd99
commit acce1eb8eb5de360fd82fd900454ff180912d8b1
commit 748b3c4ca0bf43cec186ace2ecb33457d7a4653d
commit f59549c7e705be0087d08bc116ccc767b86d8362
commit 48eba83018c14ba6c102f5801d31c398807535d9
commit 6b0a9bf72c04cd8d2864fccce42817c24b060aec
commit 2d67c4b54909982d462bfe227279d1499b329545
commit 60a9472cf0a8568f32be6cbbd32ee7759bffe215
commit 90985660ba488cd3428706e7d53d6c9cdbbf3101
commit 78dd6a8d33a3363fb4196e173be0eb4002962798
commit a6e23bec8ed184ed2a11080b28cdbd7a3024f0c0
commit fb1b5e1dd53fc834e12f69749cbc8484382599c4
commit a9ed2f052c5c14e4be58c5ec8794dffc87588123
commit 27cdf8c3cae2ad1dbfe1a32ff999c98349366862
commit 56631dee2932dbc203f0abd1011aa9d3d621e206
commit a7e8467fbeee654e390aad1736291d273b407a2c
commit 7a38efeee6b59d0984ff0470d234a06fe6a7cf3c
commit ca82ee4e9fc1443f9ceec615918b299766432eec
commit f2ac52634963fc38e4935e11077b6f7854e5d700
commit 4df9e2200fb8ae7199e46eaffeb9430bc0ba3ea7
commit 666f14cab21b17ccc1bdfe1e82458aa429b3b7e0
commit 93381e6b61804b777f60357d96d6254eb10b9b56
commit abf839f5ebd98134f51764f2a2841faa6cbf268a
commit 80237bfc031cd74cb8abf0d21094207284d56a48
commit fec5f8e8c6bcf83ed7a392801d7b44c5ecfc1e82
commit 585e3fdb36f59c5cfed0ae06c852dc1df22b1d60
commit 49cfaebe48e97500a68d5322a8194736b0a2c3cf
commit caaf576292f8ccef5cdc0ac16e77b87dbf6e17ab
commit f9e292cbba21e79abea7315b41a52c36ea2b6980
commit c86ad39140bbcb9dc75a10046c2221f657e8083b
commit a11b36ba9c1ac494c6a5cf7f1a5e68c1ce4dbe18
commit db54a725d57985c869f6fe4153a36cd229ab0b73
commit fb91065851cd5f2735348c5f3eddeeca3d7c2973
commit 72dc6bf159467f43667bead6016965821186490b
commit 3f7477bfbb906ec1cd9ad681475a04a142345eae
commit 6fa4bf3dce0668a96faca0024e382f4489a9cc9b
commit 332315885d3ccc6d8fe99700f3c2e4c24aa65ab7
commit 14d6ca0740e6237f4bca2dabee4e240b6f4be508
commit 0cf80506918da0d2cd9d31e3b07831f94a2c5cc6
commit 94beb4ac1b3bc5fbeef977960a90ee4f594b4465
commit aaa21e6a33bae017fc190bd75f76baa29d259346
commit f52ea01925f4eeb967c09cb5dae61608a2330541
commit f7543209ce5dc09e3f5a27a7d4ee53e226283719
commit fa53b23ff7c98930c7e529b8f5228d9f182ae2bc
commit a90e1dc25c064bf21353cb342aac938662a148e4
commit ec0d7abbb0d464619d6d1646f03603c6616d966e
commit fae1879dc229249c17e5fd4ef81bf33684ee58f0
commit 1a03b0e6c5fdb476203be4f4597205ff8799369b
commit d925c04d974c657d10471c0c2dba3bc9c7d994ee
commit 3237403b98e173c296ec83cbba5e9def331c5e13
commit 58ed441367b9b0fb48aa8cd471a73073d1143e16
commit 8732594017d32132ca741f4ec4eec91211f5d10c
commit 779ea9d32612f8e78a2f362d52cf31c23ba878f0
commit c8a0222dedf90e9a79b88814e32ffb43ac4beef6
commit 0352e39e7e781fe6a408c70a336d0f321dfe108b
commit bc50b614d59990747dd5aeced9ec22f9258991ff
commit b7e99058eb2e86aabd7a10761e76cae33d22b49f
commit bdf606810210e8e07a0cdf1af3c467291363b295
commit d81873f9e715b72d4f8d391c8eb243946f784dfc
commit f22f4754aaa47d8c59f166ba3042182859e5dff7
commit ac2140449184a26eac99585b7f69814bd3ba8f2d
commit 12fb3e9c88406732749fb2f111911a2438eeb0fc
commit 7e60ecc2b70adb41b92752cbcd749040e00b57b8
commit 9c7e69d2e1245fdd5fa5c65cd022530b2a5ef1b7
commit 68e599db7a549f010a329515f3508d8a8c3467a4
commit cba7fec864172dadd953daefdd26e01742b71a6a
commit 4b6377f0e96085cbec96eb7f0b282430ccdd3d75
commit eac3b274aaea11ec4ade8e8f684055db80d5f8b7
commit 22a9d5cbf88a92ac6cd473c3ba1c369aee8fec9a
commit 834368eab36922595a402b9e76470f8efa2fac7f
commit 8284951a6e79c6806c675e5f68a4cd425dd56bc4
commit c395fd47d1565bd67671f45cca281b3acc2c31ef
commit 015b8a2fdf39a4c288ff24e7b715b8d9198e56dc
commit a2737c404cb2c1c335db30737925a306a2e7cc11
commit f53f526f7050041718af84e33fc24f670e7dccdb
commit af4808ac40dbf668183d0b69ef6b31e62e1fc5df
commit 4b95cec68937a6302c7085b26258cf721d726684
commit 2662b7d9d8bc1dda1f89f0dd33422e069f2f861c
commit 39879321769cc2d9a690725959ef76af92a38ac1
commit 48695573d2feaf42812c1ad54e01caff0d1c2d71
commit acddd5cf70e609e1e1e638ac0422977ea2b4783f
commit a7909022371dc8c70bdc4871a97cc49e34d78a6d
commit bc6c2a6f6495668e3cf0acbecf820b93ca03aef7
commit 5ebca62eb8ebff67e2c8c4903bdb4f3c07922114
commit 238352b4949bc5c724f6adc1c78d50f1d15e4759
commit bd4bea5ab2bda37ddb092a978218c4d9b46927e6
commit 61eec998c9399d1cce91c7a2f51a4d0cfbab97bb
commit c60ca14bfd2d399a66f7164e044b63991c6a5a82
commit 708899133615bdb8087cafa129b8e24397d0c79d
commit 2108cdcee58b06460a8ecb106d15ab69f5bd49fc
commit 6482253e6e1ad1c3a76645a3899d3cfdb5b918cb
commit 76a791fa0926e504f262310cbd0c8f1a60e67ae8
commit a2b4da9501c120d60413065169f140bc3d2e5991
commit 66ac3451fb467ce44fb1d4517f91db7390b9fa6b
commit 7214da0ed2220a2b9ad22aa77a5974cdd2a62799
commit b46119578167150810184494b2a097c40e2144b8
commit b049504e211e8f4dbcd40434f2dcab2215ea1039
commit 305cd109b761202d71f2f655ea369fe889ba1d01
commit 3b37e2725ab32c9055bec00ef41caa63839efd37
commit 0b071245ddd98539d4f7493bdd188417fcf2d629
commit 08ae395ea22fb3d9b318c8bde28c0dfd2f5fa4d2
commit 47c0388b0589cb481c294dcb857d25a214c46eb3
commit 517fff221c1e6b8a8db69e7a440116caee120ff5
commit 629568d25fea8ece4f65073f039aeef4e240ab67
commit 1a394b4f504f33eac8c38b6f42ba025105c7e869
commit 31b42af516afa1e184d1a9f9dd4096c54044269a
commit d34f4f058edf1235c103ca9c921dc54820d14d40
commit b4224f6bae3801d589f815672ec62800a1501b0d
commit 3e307d6c28e7bc7d94b5699d0ed7fe07df6db094
commit 10ba3753665f77314cb475e1a4ad0785f4770c4b
commit 83b501c1799a96a41e163973e88826253ffadfb3
commit 773884e39bb5a57f998af48b3948308568027a54
commit 93183c9959d456530ae502865586522acf21adf7
commit 3c8d2d5da3e29f73fec6e04a424e789422f697db
commit d969b31afa439f71f810076a5612596dae38fd86
commit e814902866ed22bc07d2af1303f3183357a438e8
commit f4aa02c43969c36213a7fd4e56831693fc83ec4b
commit 351a88713b6daae5435d683ddab1913a65d09eb2
commit 8155566a26b8d6c1dd914f06a0c652e4e2f2adf1
commit 17c6baff3d5f65c8da164137a58742541a060b2f
commit 75c3f06fd900e01a68b8ade17e6b6be64cfdc9ff
commit fdedd77b0eb31209c59107de66880ef0be21a77a
commit f3c681f0c3b171db923d6147785064962351e043
commit 60c30ba7ba2064066ec462236666058cbbf619c1
commit e06b71b2313a00579ba64a1cc43ad29d64cb8d4c
commit 8f28c465a455563917aa15bf5ef40016b2a665d6
commit 641a118c9d91e53bc920ec0ea2ea350d84eb7a9d
commit be8f9f4c866f41b62a3df9a5cfd54e0e88fc3e3e
commit 81e0a3d1063e388efcbbb4648e07479575ec85b4
commit 5e9209c3739454a08c4d770c649187b0f51dffc6
commit 9d8e91439fc3890de55eef2bcfde97470b7dc04d
commit fd6797ec50c561f085bc94e3ee26f484a52af79e
commit 0d5040e406d2c4404d26b841c4aa34cec0bf1088
commit 20d70de5823ee6b9d4e8b3db4c13123cee0358af
commit 961ae5f9807bb15af0065485785725768a7269b9
commit 448359c1ce50a8e61842c39ffd52f399409a6860
commit c0bfe34330b5fafdbbc63a7124841711651b96b9
commit 6777264dfabe2a7c75453031bee5bcc2e7882cf7
commit ea94c8e217f9a845bf2c565b77c5eb078e975eae
commit 2e408ad7a55273b55b14ce28f62111dc1c4f7fb6
commit ba6b8479c944c50db7e2a81794885896fa6c48a8
commit d075d99ef73bbeca878fe2cbf758f8524bb698d5
commit 8bc1ab4f615b200507b113d31ca614fa17b9772d
commit b5bd7cf76b7cf8f2dfe36aec0e4916a2a95c8fbb
commit 4a865f6a76ed1295d878029cf7a1797395b1aec0
commit b2d474d4c8fa9cf7d18dae3c0784c4a710e850ca
commit ca6eef9b1c3486bedadad6a85d246b26df51c61d
commit d6e44a8548b614fa9d6c77e0c12b929c2c791258
commit 455167e8751c7fc50e88496e6d5dfb896e2ab3dc
commit ffe9f1bfb3e6709769779bc6c1a5b1d971b7b95d
commit 7e0d8de4d35789b57eee8acb0a952b854edb37a1
commit a897f65b3a6175243e4878e2fd2e9b8f494710ec
commit def122b64e37daa39774d4afa433ad42b8a5eaf3
commit c45c999cfb6716d40af9048ed0142e42a6235378
commit 246b228eb905c94663af435a1cd6cd31cc205ba0
commit fabc65d16337b6cee1cbbd1470bbb903f6daf3ea
commit cced63c3dd23e061f0fca754a3aeb35b62b0a628
commit 216c3c4424bb42bd6e4ea75cfe0c22aa7dceda6a
commit 8d7b2d3a7e3aa4fac309f9a496e6b237729d2b01
commit 6901f1d6479b6f81b537672cc16720b06b2ab3a5
commit c6bf82d426d8293d7257b9db368e025b1fd66454
commit 0fa0955acdb342bee3651bacfdce3d8927ab1025
commit 3019023ec9fb2bd7b0d2d82ce847ae2520f24c1b
commit 5cca41ac70e5877383ed925bd017884c37edf09b
commit 2eb58f22e2761b75e4f35847be03ddd425ae2b5e
commit 3543e84e20fbd60e02264f757c77c7dbdfd1ee4a
commit 034142a303fed2903957b06a7c91abdff5531bcf
commit 0df26c0d69dce1141218e0e5ed0ad378a0c6c058
commit 723388bc0fb68f2487795796f4e616ea39cee99c
commit 61671d85def2960bbf52db22e9e45b3bf8a5ceb5
commit f3392e662efdc095f10109f588aa4f3be86f7eb5
commit 50d10d9271f6c6542196c54275091c7b2c6edf97
commit 58d283801d06d4434df6625ed6e6b8d2ba47fe65
commit cd162ae9bc3ba91eb630a1321afd3d1dde5f2000
commit fbfb5f0342253d92c4e446588c428a9d90c3f610
commit 25dd25f86eca77b1ce4a611432f57b006fa91615
commit 8e4ed3cf1642df0c4456443d865cff61a9598aa8
commit 66d71a72539e173a9b00ca0b1852cbaa5f5bf1ad
commit 7c5b344537a143d15385992e41a50a9c5125e93c
commit f9e6759888866748f31b6b6c2142a481d587f51f
commit 7fb363c57522b704e156fc4c5fbcb7ee133fe304
commit 17e68f89132b9ee4b144358b49e5df404b314181
commit 0e4b858285e633ea6bc7335fd66529955d023af9
commit 076362d931d0d5ed01a3d1cd4d066f2e6e7f86f8
commit fcb3a4fb8255149a73afeb3d8f2397eaac3a46b0
commit 680caca6feee720d0a6cb00f892c0d2d46dc4075
commit d5022deb4a526009fdc20e4d62528b25b05112dc
commit 3f96f545f877ac59d0c967f52d760b4b2b3b9a47
commit 722e96c99f1d7532fdfbb557f50a399f6cc57d82
commit 58a8ee96f84d2c21abb85ad8c22d2bbdf59bd7a9
commit 739d0f3e1f36738d4cd84166784a8f7a58d69612
commit 9724b8494d3e85cb01c377f201bfaf25fd7d38ff
commit 093b79d034c59a3b66f6312863502378a422496d
commit 4981bd4749fa769b3d6acbc82fe8059c030d0920
commit df18a4de9e77ad92c472fd1eb0fb1255d52dd4cd
commit bd870cfd21489d28195fda157710ebd4cecaa8ca
commit cead9ac8b0992ae2659b637e86a0da7cfeb5e267
commit a15268787b79fd183dd526cc16bec9af4f4e49a1
commit 13d8850a3387635c051c5ed1c8a8b6c1e9bd1341
commit 608d886c978cd5f3d8650630568d96c231845227
commit aeb81b62c7fe4782198e9dd79c7d6cdf04d92586
commit c6bb3acf1cdeed5d01ebde70b769a8e25993965d
commit b5126ba85beadfa1f3cfdc9e7a8533ad444ca210
commit c3f15273721f2ee60d32fc7d4f2c233a1eff47a8
commit 6eb1fe53ee94cffd7187844d08d46ba8659d667a
commit 4067f4fa0423a89fb19a30b57231b384d77d2610
commit 31663521ede2edb622ee1b397ae3ac666d6351c5
commit c9bfc37f085aa180b3c49b9c95756b9ef032243e
commit 0c3f3a83c7e8dfaaae4ba8a5b69bd6bc13340d0b
commit 0e8655b4e852ef97655648b91ce780384a073ff4
commit a6ed988ecdffb2680a65f142acfe3271e6c04ab4
commit 6f4e43a2f771b737d991142ec4f6d4b7ff31fbb4
commit 7657d7c96657179d002817d5ec2a1d4c84f21cdb
commit e525473fd5b7202ae751316799ed759bfaaf02bc
commit 20c3a0241b5c15c0d64929cba04653d5556b7d5d
commit d93a4fec186c106115d0b3165047dd06f2c1aaab
commit 9eab82c38d0184289ffea56477daca8425758442
commit 6da8acfdb6e1aa72787efb733e3af9e9e0c57b9a
commit d51a75ac975a6147a4dea2d68cef4566f5c2ecaf
commit 1c408c516414fd9760c54f6d42ed1fa44a1dff15
commit dbcbfc72d3b660b6dd9ea7d2c089c228609714ec
commit e4ac526c440af8aa94d2bdfe6066339dd93b4db2
commit 250ac9ee60dbb14cdf422ab7f2bc28d671ac9f46
commit eb53e5b933b9ff315087305b3dc931af3067d19c
commit c91d75a3c6a2567e8c6b44f7337b6955596ffb86
commit cbacb1b74400299edea7e9bcd58bbc7c40dad8c1
commit 2281475168d2ab3fbd763c2fd762f99a411fa1b6
commit 2000ddac9b5ce5102ab1b194a1cf91e8af3017d5
commit 833cf12846aa19adf9b76bc79c40747726f3c0c1
commit f2881dfdaaa9ec873dbd383ef5512fc31e576cbb
commit 7f7a2da3bf8bc0e0f6c239af495b7050056e889c
commit 6f20fc09936e786a4ba18f5514fe185e0451ada9
commit 4c288f56030f380acb9572d88396ac15edfd30ed
commit a755947e050b8751fc5402609a7d600e9c756fa7
commit e9b36c5be2e7fdef2cc933c1dac50bd81881e9b8
commit dbaeef363ea54f4c18112874b77503c72ba60fec
commit 0cf09702a118b1c09b694862061913108565edd0
commit a64d5fe490cd92d74b1cf46da63164cefcc61a58
commit a3f91f405aa7c54d0856c1b8698e4ff05ae7d439
commit a4530e20faddcc4ef4e5939f186a8560c71a5e94
commit 634e1804242b0d5d64031199236fb3f337b5af3d
commit 96c468c366dacc0e41e08ac53e20a5025f6ba967
commit aa705f7ec6e2423af87c20b30f0e26eafdfd4513
commit 8f1fe39ded725483a67c15014a1863179c783b38
commit 9d1f218ddce20329a01c46d7a1ea4d88fdb0fe86
commit e40fbf616610e33aba9597f278925b4ae8cc806c
commit e44bc451aa4b08845c238028daafb4eaffb573a3
commit 5c7b393452b55ee0cdbced0d3bc798f6875b5c24
commit f1e6f89506e48b42235755fb3c2b73022697d8e5
commit 4da409ba6430e3b5c6da7879dbbdc5f6717d91b1
commit 6c9e14ee9f519ee605a3694fbfa4711284781d22
commit 688c43dd6ca9e0cd0568868aefca5b041695c3f4
commit bb99c51bdaa846bddb85a1e7acca3a3aa5e9f082
commit 3663e2c4bc45fcdc71931fcbfcbfbf9b71f55c83
commit d97e71e449373efbd2403f1d7a32d416599f32ac
commit c0e0bde2c7e6bca2a1f195d82ef7598d521399e5
commit 146458645e505f5eac498759bcd865cf7c0dfd9a
commit c3bc97d2f102ddd5a8341eeb2dbae2a3e98bb46a
commit 53369581dc0c68a5700ed51e1660f44c4b2bb524
commit 4f04d07c0a94b0b30db839e44f1b8364a1b508ac
commit b6b242d019ed23195c81cf00eb8290d386efb83f
commit 717b432b6d55e1dcefcb5e2ec315bf66b6ab8c54
commit 21e97d3ca814ea59d5ddb6a734125bd006b66a60
commit 2009e808bc3e0df6d4d83e2271bc25ae63a4ac05
commit a4172af3040cdc207f1b60efffcdd219156093c9
commit da1878b61c8d480c361ba6a39ce8a31c80b65826
commit a99aff2608f422da833cd91fa1eff23daa05c0bd
commit be1dec570b6f5a29ce9c99334c52bea94c28914b
commit 8d5309b7f67571bc0c95d430f4722a99d38f3b79
commit 843f10ce6539cd5e4989415e18cb809f4cff8b91
commit fceff12e52985e49c464f402e11b2f97bce3cc24
commit 3196763851b5fb9f7c8c488e233e947292cd71a6
commit 8466a14173e5ff7c2a52d8700a13f4b841d0e17c
commit ce9b1466f5a9a1b2acc80d29f12d69559fa97174
commit e60244554ca98e87ef731739f608eac54e478e9a
commit 2796b7ceec95bd5a7069cd27af7e4cf01a692db4
commit 1de99ff7371bc6ce2187081bf5bfbbb4a7de28d7
commit 34d0472ce1087fbf8e2ba504a4625e4c74286c63
commit 60a2066c50058086510c91f404eb582029650970
commit 97b6784753da06d9d40232328efc5c5367e53417
commit 54bf0af90844fbf18f5be3272eda69198dfdb622
commit 92653f2a572505adaf7f13f695c1907e71a1dc84
commit 7c5537cee9a8dff956e3b9a3f68c22af06a57558
commit 7b6cf6c750da7661a90c12642c3a8f141c7c2819
commit 68914b7c4dae0fd59ccb6b8bd8e2b6f5656cd25d
commit 0b8778af8babe55f133b9bfe3a5bf234a36ad7f8
commit 75830999587470b17a30d2ecad25ad13cb272c19
commit d7683c49638c83bcb6a817671bb348dc435da3b5
commit a0ac33cb9a12f1e499c9f009067a3135df626cd5
commit 16c9898ac5ab00fc96efee404a1b8bcfe20ad48b
commit 9a72570491b524c9dc4c1caa7323b2297c27b0b7
commit ca0fb243c3bb53dbbd71d16c76f319bf923ee3d4
commit 9330af0af3d54df71b6b752a260dadef05a4fc44
commit 29d0732f8f61ed028d642034e5323b8cdf6a1905
commit 85ecfdda063b6f148335c354c8b7200a49640510
commit 5d6a620875a04e70c51d8366eccae74d9cef0308
commit 6cc213b9aa34bc3213e20f9256345c5cc1495b0b
commit c7b3569b3ebc53e997500be09eb612b6c852525a
commit ab799c16c9d537fa2f070283f1ca63a4425502e9
commit 675d9ac9d0de765531e94f9fdc536989a997a324
commit 24ffa5bb6d363c8164be6af974e318f5752797e1
commit a00a177055cced5cd2bb057a1ace9a95a286bc49
commit 74bad61c5d83f5af8a855c8b7dc8e20377c74d46
commit d91f93c7a7fb9589e62814c1e229943e1259b48c
commit 946e2c5be80b2cf93be34e28b3a6bdadc8ca419b
commit 3e048c8846a658098d935df83050170c8a8fb104
commit 1cb62da0802c8f08e26443a5409edba99b8a1f6e
commit 8141f21b941710ecebe49220b69822cab3abd23d
commit 9710b84e2a6afde2db20cd33435038eb75b91200
commit 17277da26623d4aa8bdda628d0024cf2f2e39ae6
commit 836af5be1b6d8e93d736c252e711a20db7dbde9d
commit 4a4c815b08dc774dde67fb90a0286925f98204af
commit e89d2fec4cde967445e16e02e406481bac380cc4
commit ee0a469cf9175aeb6131c0476c4a4a8eb5997dfa
commit 67c4ca9f794951482c54a7006c8b3c367d6c3efc
commit b41a382932263b2951bc9e83a22168d579a94865
commit 847e387e00547b0cc728a5e61f5beb2ff861ed1d
commit 62eefd10ac1c7e976bda47ff311bd87cee40ab8d
commit 62ed6f0f198da04e884062264df308277628004f
commit dd340acd42c24a3f28dd22fae6bf38662334264c
commit 28574b08c70e56d34d6f6379326a860b96749051
commit f59902ffcc43ce7e1db5d0c4dfee37ec2a1bae0c
commit dfe9d047b162f3a79ab63046608c693ee14c5b7a
commit bb670c31e13a402d30afa3d484403196031d0fbd
commit dee44a7cb577f2aba39e1713a51e9faee2f65534
commit fd69ef05029f9beb7b031ef96e7a36970806a670
commit 62341f7bc2ccb7c024eb023a05714d798ba6437d
commit 0964fbd59e7131c1bad4c8549ec13a27104f0b11
commit 0345c8bc22c92f3d5fc0287957a96fd214297aa4
commit e9180253e22596991db426ab5b01111c2a739db4
commit 4f842ba7cdd83cba1d5c0bbd15ed9d14d882cf89
commit e1dbe625d6ac2821eb29e087db46cb539d8079f0
commit 507293b1b207e419fc7ea4ff1d72c2f1db18e33c
commit 64a905203fd0da3e8a3f649593cc48c9fbab25d0
commit 792be2e23ac69821db7860ba4ba94592101f0b07
commit eaf3adb8faab611ba57594fa915893fc93a7788c
commit c9875d0a789060facc274dee0d4eb6500d471772
commit 671af06690e7f79db51b475a35c3b2619f345abc
commit 434967aadbbbe3ad9103cc29e9a327de20fdba01
commit 65f6e9f7e1319119096a6dc93e62894e4375b578
commit dd3e296289346109d41c6317124f51aee0269c25
commit b3a3c9a6b27b68310f1d4d486f47556808c7c855
commit 5aacf8917fde5bc2a640f3cd49130c0e2e85e726
commit 7b2363e06c0ff4b868e7d768d605a9e656ff61f3
commit 51d334d6a49629ea03a2dde562d46846eb7d07a0
commit b8dc6ca028d9a39196a3a066b9ef2d4a5eca475d
commit be64336307a6c3ee71fe1337c1b9f0495aa83c50
commit 78c508a1c162c90c48e12faa62bdab8b90e6f17c
commit 41cb5a5e8480fa41ee452ee60e620a4c1de3c323
commit 8151a6c13111b465dbabe07c19f572f7cbd16fef
commit 329ee7087bc9862977fb6e431b8b0ea5e7e261b0
commit 00f06855f6e68954f67616cd5560fca25c755eba
commit e80f8f491df873ea2e07c941c747831234814612
commit a0fcd3df4591043d447bb08919eed2ce68fbdb5b
commit 130376ab8300ef06231ebac4db147f06d601d53c
commit 86598c3819fdc70e59d28221bfa7bc36e9f5777e
commit 57b09a168ffe88a4c088e8f7ca5de2ffbb8fefa3
commit c0277b9d7c2ee9ee5dbc948548984f0fbb861301
commit 92549780e32718d64a6d08bbbb3c6fffecb541c7
commit ecabb5e6ce54711c28706fc794d77adb3ecd0605
commit 4eb0aab6e4434ada240286d934651dfdb2e08301
commit 9cc033e07d025dee1fac178c20ba96c56f8d9a91
commit dae5d79a3bcc3101e1e02a1c2999ca74d1efde05
commit b62ef7e4021f74bb12445987efd8109ccca289c4
commit e102b5ed6e283a144793cab8fcd95f61d0ddbadb
commit a225800f322a3d6cc8b8b6c7dc4d5281f2f5375b
commit 1da86618bdce301d23e89ecce92161f9d3b3c5e7
commit 0829b5bcdd3ba077c408e71e22ac2bfa85bf2c95
commit 17419a5c8c75e1f9de01b094f763ec1c6ad02979
commit cecab0bb737fb74813733f2472761fc3a93857b1
commit b7b930d104c38a545d862896759863d649be8252
commit 6600c55ba0d46c6f2f74eaa6ddfe2b66cb8df852
commit b635066c2e0fcf74428b0864c249c1dbcaa4b5bc
commit 94a438a7595bb5a7a2efb94de2dc818845254e4f
commit 372f244b01784b5ee233cdfd732b4c1929ddd71e
commit 91dae758bdb854367bf0811d97acb84e791764d9
commit 636cdf6fbddff4780ff4452a82afb099292b88b1
commit e422c0bfd9e47e399e86bcc483f49d8b54064fc2
commit f5510726608fa035bdd2f1fc167cf4a0f7bee22b
commit dc06efbb7934405461d95bba5b702849058424a4
commit 9d09cac47de5358ace64dddd14278fea002e68c3
commit 0f9ff361ad823b887cfb09dd78ecc8f25d32ecfa
commit 219b45d023ed0902b05c5902a4f31c2c38bcf68c
commit 5bdacb0907c1f531995b6ba47b832ac3a0182ae9
commit 4e996697a443a214887ef81b008c344d183b5659
commit a857add73e61277fb8f688234c9d383130313ea7
commit 89121e5d0857bbf41f1987c3c6019f4f318aec4c
commit 2eb20b96d7696dc354e1b38c511418b56291013c
commit 549dd786b61cd3db903f5d94d07fc5a89ccdbeb9
commit a86ee96ce819800a399e0260c5ffad793c9c6ac3
commit fc33077765e9104f84b49d9b9e0702a41d5269d6
commit 17d6abcbf6249b4ef22f41b255de2be2691ec32e
commit 885c31382509d13fd70f6a9c42637eb72056a6ce
commit d79fdaef2b55deea0df3fc6af4d4ac60e81a527c
commit 08b5a4798713f4331317272752b27b1c4f6a246d
commit 7d113cce5fe92c8bf0a2e2f19f71762a845e9d9e
commit cae39e60abb10ba1e8cc095b7d5567edc9005f03
commit 6d470f9b8cd3e88d097b332bab3e7231f2fb3dad
commit d27a14060f8501e556a65b346b2644be0d0a2de8
commit 969135862e731620b9e03bb0c21179ff1cccfd0e
commit 5d45c01dea6f9e0f2dbed3ffee02ac2e80579ad4
commit 0dc4fb69eb14320ea0fcd9657b7748eec201ccaa
commit f7303ab29d08a551975aecb4bc6851ac3445abf4
commit b7f317e62968979343a4677ffd5bd91dd3edc204
commit 769b081c18b916e362a2b623d7c28ce761c3165c
commit 9aec6f76a28cd669aa98403883edda3a7981fef0
commit 5c61f59824b5e46516ea5d0543ad7a8871567416
commit b9396b49879b6e3d9069586e39432b2203de0a7a
commit acc4e41ec41fa28ae9fbdb1a2750525a7a242743
commit 39fa14e5bdd037f50df0af408da7251e400b41fd
commit 21ff3a16e92e2fa4f906a61d148aca1423c58298
commit 1da91ea87aefe2c25b68c9f96947a9271ba6325d
commit db639278e6217173c21bf8bd52eff2e9a0d6919e
commit b8cdc47adf059f60a39555eeba1db92c503a5061
commit 50680d1698f4d4c9651822398805cb943b7c04aa
commit ec0796e6446352e9e4ecb1804bf470d1ca47c5f9
commit d408d6f8cbbb5ad92b383f33d091f027f5740aea
commit 844efaef48e846b5310b0e7af5e7578762eb7e8d
commit 34e087e8920e635c62e2ed6a758b0cd27f836d13
commit 237193e21b29d4aa0617ffeea3d6f49e72999708
commit c3c5b79b6ed1d7ae7356b51f7c17bd88197bf405
commit 7a26f18119d1daf910cca58f875582d50d0e4974
commit db1aeaf2a1374fb05d82a1f8fef5cbb059ce6a01
commit a0634663d09abcda84eae37e9817490628a034c9
commit 17674d6603eab37a4f7b1cf5ba345d5a1e275fb7
commit 8df39400d0db29f84a72c891d1f526e3b61a332a
commit 6c22aadbf6fd0240181eb4897308153c2aabec2a
commit b5757a5be2fac24f5c138e8ddb3b2c7be8ba1cb3
commit 446d0f4849b101bfc35c0d00835c3e3a4804616d
commit b7ecc44a1b0427d8c71fe2e2d46c4a8dd6e6f64d
commit c6c2e8b6a427d4fecc7c36cffccb908185afcab2
commit 0cee47cde41e22712c034ae961076067d4ac13a0
commit 7b3a4e1d559e892ea563f46f45c504a60c82d70f
commit 3834ce360067b4ee98fdef14571923500a0499a4
commit 9a12b1c7a0595736d398b24712dc1ce79072662e
commit 8641b817392bfb12fb1e71ebb68c31783297bfbd
commit 17d30ed33c8a9e7b866dd7c2ceb4a6858cfcaa81
commit 020620424b27bababf7f53d00692ab919c357a3f
commit c6dbab46324b1742b50dc2fb5c1fee2c28129439
commit c30fb344a2f7fb5d553e98577185d9f8147598e2
commit 45a2a4514320f9c835eccb661601357cb1fefd82
commit 947c0808693e267185c5471f87f83146e4300561
commit a46a7bef7d41ee7787c246f47a656fbafe02f122
commit 3df34334147e73b05480db6cf8353a405597d04a
commit c7d4355648ffa02a1551495b05c71ea6c884d29c
commit 2f93ec07ab54cae66155d0a09182843f358da178
commit 434b3554d6435dc4e19083a2214dee40a88e09e1
commit 311f2b587461f86e3c30e7ac28df38be4a862ac7
commit 0fe20258b4989b9112b5e9470df33a0939403fd4
commit 596a4ec72876f1061f0ef4be47076b093f03b4f9
commit 782cef7fc367542ccc851d93edbed166defdfc27
commit c20da89edb69f05ab78fe804899d50be2596b0f0
commit 95d9e0803e51d5a24276b7643b244c7477daf463
commit 4af0d8ebf74ccbb60d33fdd410891283dd6cb109
commit 680458d41aa46a009909482f58358205b5c4b438
commit 8c4f9e466169b3e411947347fef09382c14e5733
commit ce4f9f79ff8cfc78a064c533f0aab563a5613d81
commit 1b686053c06ffb9f4524b288110cf2a831ff7a25
commit 66e2d2d9a59f896def82a1c8684368be45cf4c06
commit 07f4f9c00ec545dfa6251a44a09d2c48a76e7ee5
commit 98df5a7732e3b78bf8824d2938a8865a45cfc113
commit bd15f805cdc503ac229a14f5fe21db12e6e7f84a
commit 9b7e697839c2745c10f63fe5fd54c9e328fa2e3b
commit 70f83e7706e57200edb8ffa36883b2f43d214142
commit a1fc9f584c4aaf8bc1ebfa459fc57a3f26a290d8
commit 3bb41f2e9134906e0814766c07dfbdd9de0bfaf5
commit 027347d17a16562f3be272833243b835c21aa2a5
commit cd9e9e0852d501f169aa3bb34e4b413d2eb48c37
commit cc2991203c9d4e23051dbe5bcb1fc700fea26992
commit 67ea53a4bd9d03a85eecd99875a2a794c886f788
commit 7a1eb66809390d06b744aa13123b925b64b54c4c
commit 24f483ba49c9acc1139a0b4cbfd1b122fbe1ed7f
commit 5b7813bc6218100d7bbc6d3a1b582bfd64034bf4
commit d6ed53712f583423db61fbb802606759e023bf7b
commit 12dbb3ed212fc7655fce421542a5add637f8af7a
commit 5ac2557d75f94777076885b5119d3b6755e6761d
commit 17b6527dcfb3249401e037734ed3fd0f4752572f
commit be280fddfd645ea0ce4c7a26692c3d1115447e32
commit 1fd2cf090096af8a25bf85564341cfc21cec659d
commit 8f9b23abbae5ffcd64856facd26a86b67195bc2f
commit 267c5876c977d5f2d5a89f377d74adf42b5c38a5
commit bbec7cea6fa4a0463d4766ed0e6bb347773d3949
commit ef6c2cb349c708676b7820c36a5beb75868ad544
commit 61cffacb3a1c590b15c0e9ff987de02d293e0dd8
commit 42b3a6f12aa56dcf789464d29fdf11f33bf0e793
commit aa02486fb18cecbaca0c4fd393d1a03f1d4c3f9a
commit 35c7152202e111968b10140383f49da9159d2704
commit f83cec3b3a7c968bbceb810b7acd1baf3fe8cd87
commit e69c2dd7534f3fcabf7bb801db2a7ac71e7e5da6
commit 9c081c11c62112f1c30ff2426f755279a43fa1a1
commit a85c3db6b3b088f63b5b8c4fd4352f56f0e4ce3d
commit 9e823f307074c0f82b5f6044943b0086e3079bed
commit b2dee0837a4be63e8d3e00550a9f057644f962c4
commit aa539da8aff07ab08def6490e8c9b441439e70ba
commit ea5d6db17a8e3635ad91e8c53faa1fdc9570fbbb
commit 98cae695a8ae0e4291b1fa7feef9b54fabefe885
commit f7fb9d677faf0460131bc2af15afd766d48a1f47
commit a7f670d5d8e77b092404ca8a35bb0f8f89ed3117
commit 6a28a072d90e4543b5e07a904e3a6afad0117e26
commit 1091796fb1d9d6888656f2416ad5c99cfc62a4bf
commit b232c4a63a176ed837e3c6bb4a3ac79a1ca5ef1d
commit 98aded657f506cd5d6d459d68ab4996d9dc0938c
commit 1d734a3e5d6bb266f52eaf2b1400c5d3f1875a54
commit 4b498d19610c6acd36a8ddf622afdefe4ab093fe
commit 5ddb0a8aa8e4754a8fb77e284e0d6f46c2350f88
commit b080a60731ad909eae4463684acc23d322e93579
commit 52e371914ed37f531a8d8c3b4cf1a1af2753eb6d
commit a884dde8d9b6a4a817cc39663db824e5602a8001
commit 1eda95cba9df35f1fb0fb4b89511beb6603c614e
commit fde7679a2b374c8c0932f5cc48438a312f3f442c
commit 29323882aa48fc9f273db5820babf32c979359a9
commit dfa5543193f303a7270ec7c725e656970faf7d57
commit 202b85da0a2fb6f034f0290af841e0f29352af9f
commit ab0d6ef864c5fa820e894ee1a07f861e63851664
commit f0ffa657e9f3913c7921cbd4d876343401f15f52
commit 4551d60299b5ddc2655b6b365a4b92634e14e04f
commit a98a1a3c448820dfb3974839e1ccedf80b6fcacd
commit dd925902634def895690426bf10e0a8b3e56f56d
commit c7085d08c7e53d9aef0cdd4b20798356f6f5d469
commit 23ab1cb6591dba7c97b65eb407cd71147bd878b8
commit b0ee81dac3205db1e01019629c83595e9433d96b
commit 8d3a2d3d766a823c7510cdc17e6ff7c042c63b61
commit 3396900aa273903639a1792afa4d23dc09bec291
commit a809b92ee0f84c3f655b16a8b4d04bc3665d954a
commit ddda6542c85304eff31fe433cc0fc2c0d03c8f3d
commit b3a901841ed1edd65b2f4cb9dd890ea1e2fc7551
commit f366d8804fc58f87b682bb02e8bf970b08e5df7d
commit 21d6376865219277ca91bf95f9e54494c1ea7ae1
commit 7f75eb222d5c8c4b166ff99a38c85a3de97e0647
commit 649ae0e0d55f6d432ea73298929560ecdfaabd05
commit 34aa0a87f83b5322bd8541cd9534179c90c580d6
commit cb2f92569a2b7809a0569b380b9a6f2afa368cb2
commit 9aec90f9e545fba64ca47c18c37c588fa0d71b22
commit 1b9e8095fa3ac29e3a00ba1326976b479fd809e0
commit c6cbfc18138a22cfbffb208be92b18a531233528
commit d0fc54a201d673013b031ebce32e5d8a7e3bfb70
commit 6276706f33cc38ec59ebf03b680240ff74740c8a
commit 7d085bb17e3cab501218a7a4604aff6c4a8b9585
commit fbc64aafc99baabe4d4e4d5a58d6113aad7909c7
commit f76506358078809461866086c5e224d949002016
commit 2e5d47fe7839298fa096970e184aac9bf82c3bd3
commit 5a891a0e69f134f53cc91b409f38e5ea1cafaf0a
commit db3461a7743817ad7c73553902231b096616813a
commit ed7171ff9fabc49ae6ed42fbd082a576473836fc
commit 437ad4534a15ccf538ddb440cb29d3f445251605
commit 8a0f58ec4728ec04c654645bf8ed4070821ebbf3
commit fc7c7498db3da52efe874029a9c2ccc0ad2646ee
commit f9e491c8633277d5398f384cf1fd1a477e04363f
commit 37ee1456239cc5680f672f37417e52db2349965b
commit 406792dc2a5c82e2f312e10c3c2c887de6ef80a4
commit 57a372f67688dc7aee23a2a00bcaf6188f592934
commit 15789fa0f0e29cf802f30d0e308da9c6b18c116a
commit fb0a5834a338329bc665c7ce2b89f3e376557565
commit 5fb4d2a77113d3ebaa5c9dcdbef8b7bdfdeeffb2
commit b5e1a3874fe3cde73a4b02870bf3e8fa43777c5c
commit fdbd69486b468e4963b4ef9f76901d3788252dd5
commit 5d0112f77793c0351faee6c723a6fb9191c12be6
commit 6f38589e170f7649bb4b5efbff6b681c31433440
commit 4c953e53cc34f8601b7b7c6286c65322452d35fe
commit 186020c16650d6f7a05774ef318ae9056aae4f21
commit 2e9bbdd7b7cb5f364a917e7c6eff2a2c36f11895
commit 4dc4422f11b041a9cb7a86f2f9bc310e48620fa2
commit 31ef969301e58daaaed1728690e16192b77b9028
commit c4f503551fd65e50e657219c9bfc2987c51805ca
commit 27ef61f9617478c432bc477d4eed8963deb89f24
commit a48f31fb78265d992c75d45bea215998367d4956
commit d082e5cde489caf7b29e966a9dbbc3fb43fb9164
commit 3ec2ad7c34c412bd9264cd1ff235d0812be90e82
commit 0f2c243dbfa008cec2dad03ea074156b6b176a03
commit 89ec85d16eb8110d88c273d1d34f1fe5a70ba8cc
commit 3fbaf475a5b8361ebee7da18964db809e37518b7
commit 20588d5afce3992ff4fc9b61085e3e1affbac620
commit 27a74c125d029d0606b81ef865bb68dd975ca2f7
commit ab10f7748789fa9247949b530d8ee7d56eafe9a3
commit 6d88c0f94ac07ffc9f08e459cca036f4af08617d
commit f685b38455b0c990a0f018a17b238d8ffb5acccc
commit 4af8071b654dbd9b8bd003ab8e49eb16b4cb9fcd
commit d479158f6502a3698b91829fa03bd3f2ea38efe7
commit b5be054c585110b2c5c1b180136800e8c41c7bb4
commit 76acba7b7f12517990f326fabfecb6f55e334233
commit 478efcb90b074f0fdd18e62b30ce09140bd69022
commit 5b7a59de4845460a313d93d4839258bfb982357c
commit d4f1fde734eb73767015272dd2e8af1440b30a9b
commit 32aada4d0a35ee613ffed23090bc23e1b40da419
commit f3c958ab857927e1ef2cc6806fcb0eb3f36c923a
commit 8962915044364bb7c36b3018f74371a798aee46d
commit 9d87dac3f9adbe30d545c577aab483dfce71143d
commit 46553db49cf7b7dce95879ee0725f7d95de3c184
commit dc57edda816df4fb43bfc2809675e91d15994195
commit 3a50a51d04d2ca5066949073274e70191104f8e5
commit 439c3b124e9ee704766040d5182ccdaeb4d45499
commit 837cc7f1bf2bbebb05781efb6bc1b10d5c2e9308
commit ef9f3b5fd9d2594766c60b1e12b0e72e4918512c
commit 2239aaa204f1c5002018a02903df7e45a0e0e503
commit b910cacb4e70066238feafaf3f2430ef2c8c3b12
commit 0eea81ee2e12900bd5276558434b675b52ab2d5d
commit bc62abe1b92db4e027a92a6799f2193bb93970ea
commit 1a2103d68547407a098c237d7cade79b4ad2b88f
commit 2dc3851ef7d9c5439ea8e9623fc36878f3b40649
commit f49280ffd254e718ee01ef515fe91854fdf005cf
commit aec773a1fb0253494b85b073f46a0ba1d798b726
commit ee7a846ea27bcbef5182d15923339a7bf182ec65
commit 96595204195d7e13736a84295e217316610d4cdb
commit 19cff16559a4f2d763faf4f8392bf86d3a21b93c
commit 0523374e303051c94457df9170f12a752d8b09cf
commit 852856e3b6f679c694dd5ec41e5a3c11aa46640b
commit f784750c670f7c5ac572590ddad77a89b4c997bf
commit 3dc6da76ae55d667fca2c9f9497e8ea1a27497b1
commit 7970cb36966c9b9183255dc097ae0446300eebcf
commit 53fdfa19e6a9220a14c0bb21273880774ea70dbd
commit 7f0d7bee2079fc899c8280e177b0c0feb8b9debe
commit 0d92cd8935a3fffbbfee0fd59cdc89ac5167b14a
commit 2750ff97ee385b85195c5579ee911a551fbb0dd9
commit 770bd1d341130ff38feda169177159cd78389cfc
commit d16ef1a18e39a5086a419d8b3c71adb30273881a
commit 226d92e49a7e7a7f5a3a37a34df7c319b72009fc
commit 4099cfda9dd856222d7cab6970a65896375616d5
commit 6b77dab5da721f2fa9d3c3611e1cbaead8030706
commit 7116c35aacedc38be6d15bd21b2fc936eed0008b
commit 492be2a070f023c66aaef6ebd664567fda28c2a6
commit cb8f81c1753187995b7a43e79c12959f14eb32d3
commit fe828fbd87786238b30f44cafd698d975d956c97
commit 737ad3776343f6fcffee9d0d849dcd6f6b25f05a
commit 11c742bb5a26d4adc873f6e6e2b69a59e1eae285
commit 8a879141dcd15d2db876ce3adf88b9b01650b7fa
commit 6841a26e2c6715dc52a1cdd888e958dd2a92a5bc
commit decbfaf06db05fa1f9b33149ebb3c145b44e878f
commit 23683061805be368c8d1c7e7ff52abc470cac275
commit b9d228a5b2ebcb1f1f63170f5b20bc2f9d276168
commit 00b8a47d8ebe0419e649dc81b96033f6db6a4746
commit a055c91ac6ea493c2508401537e8732dd2a7bbf8
commit 6a60273a0e8274820210abcfe7ec0d5f1f38f458
commit f7c4a15225faeffe1e9f9a752097e7d85603ffef
commit 91a759d402b5c17263f82097c647e784f217e2d4
commit 97d1f449c359207b2fb5bc62eaefb7e21ad619ae
commit 64ddf5123eff2edf47202e08744c3c14a9d28f59
commit e139c0eb22ce5b2ab6a2056c1ff495f3a38322d7
commit b61c4bc674c6032827f2682a0c72ff577c36143f
commit 1453323eac4f13817a07f40e78e76dfc635aab34
commit 7586fc52b14e0b8edd0d1f8a434e0de2078b7b2b
commit 3338e4f90c143cf32f77d64f464cb7f2c2d24700
commit df2dbc925fad3274b952b865f85d26d1e056c1cc
commit 60db6f540af9f93144d5039140aa2ed17171d168
commit 051c86afc342aed1f84d66ff5d09dc9e1c1685a1
commit 04b5b362bc2a36f1dfe5cad52c83b1ea9d25b87c
commit dba1a6cfc311833e10df978f07147ea93b7045fa
commit e189be9b2e3820c88164d95090f1fd6343cd77fc
commit d361ad5d2fc0e4d59d5d538092c9b37889756642
commit 22ff907d4f0457b2800f4c6d4f40d4d4d31f7de1
commit c2e70d307f4491ff970208a41cce84c95771f340
commit d4c38154951b2bff6bfa4d5eb56df0bd08703cf9
commit 335288315af18c0def7f47a37fe7eaa782c98f6d
commit b1f49ff9cbe14264c7eb33462fb700c49c7d91a8
commit 234eebe16138f94de3046f60c52763dc17fe5fed
commit afefd6f245024684fff75100052065d6a9e8f75f
commit b710dbe55dee946d82bc4815c40373cf8a391581
commit f846250b8a20e6c1225c64ce87a90d4f29cbf351
commit 87758a0ef12cfebb9fab8ef1d0e234dd7b3f4579
commit ccf8ef6b7506cc43e7fd504a85465c1c0786a107
commit 9a16042f02cd08bbd0a5a2d8e9c95347717165a3
commit eb067d65c33eecd4b81771384183ad42eec259bf
commit 18ac82c26da45d033df7eb993139da83dd53ee68
commit 9de60462cdba60f575f97ca2655533b35273c715
commit 8783a18409b48455b3a63f0cd930c7c88beee93d
commit 7c9cb6d1bf122fdac6a7d51f7dd8cc2d8c94b452
commit 4e9e50b6aeda3e3ce727453c5455cf08c68dac8b
commit 272e6aab14bbf98d7a06b2b1cd6308a02d4a10a1
commit f327189389785b26e49904a7d3ba0c96506a4586
commit ec9e2e7acc6dabb8f00c2c60785931310caaa883
commit 2344413205521775d3b1d418e5659e3ae3bc263f
commit 20b5a8f9f4670a8503aa9fa95ca632e77c6bf55d
commit d07722e1fc749fbd78992650b6d00c9a2619be70
commit e389eefe34cebc6219dbe76a923b342b2f31e3ba
commit bf2bc61638033d118c9ef4ab1204295ba6694401
commit 186fb12e7a7b038c2710ceb2fb74068f1b5d55a4
commit 88c511dea151b931ba4873119b1b3555aac0ce53
commit a9556637a23311dea96f27fa3c3e5bfba0b38ae4
commit f15e5587448989a55cf8b4feaad0df72ca3aa6a0
commit a8efd8ce280996fe29f2564f705e96e18da3fa62
commit 609d8b1c422cd8d1f93bf526fb236f2e07687e7c
commit 255fc1703e42321b5afdedc8259ad03c7cc533ec
commit 32a42c93b74c8ca6d0915ea3eba21bceff53042f
commit 77cc3f6c58b1b28cee73904946c46a1415187d04
commit 4cce34b3835b6f7dc52ee2da95c96b6364bb72e5
commit 5151fa35ae5979821d091b80096b4c790b187bac
commit fca0abb23447c37a6bdbc76798c24623a9b69a11
commit 40520283e0fd11237ed9dfc0991503b3403d5fa4
commit 321d6b4b9cbe3dd0bc99937d5e5b4d730b5b5798
commit f6d9f39f8d9167627bc0f9e3e12ee0100c1c1919
commit 80431c017f745a818ea45ae6a8373b737f73b1a8
commit f89001ea41771fe94005920c363dee43e8078bec
commit 0e35457eb4b75f2bc9eca58a46d12e200e15e47f
commit 770a961d581c577b579d8d38414b2bfc0b4766c2
commit bbad0090b9f4735e35e9881278b7a353f71b43d0
commit 9e7a74a12101bb07ccc22fb180c5e44051c5a407
commit 44a37ba12857c78389cda176c093967406250cfe
commit d20c2f8464280550aeabd2766728590cf0ca8a4d
commit 2a2391f857cdc5cf16f8df030944cef8d3d2bc30
commit 5e9c0d1c5ea355679f5b2a57b0c1b5932d78719d
commit 11df68c265460d4dff5d19a1313f0fff69470f98
commit 453afb1a439994deeacb8d9ecbb48c1f2348ea0a
commit fa509a33e34849cce6c17f969991dc87a864fbde
commit 7bb98ca6542e19a9da7cc322114bb4867acd9614
commit 85878978fcd2812eaca309ead436bcd38777f6f7
commit c8fc8346bdd097d624771e606aef93644c072ef2
commit 5a48d67ac336436ed4a79c1c9e036a409b502329
commit 4446387572fb7952a387b8e45e8a96b4f08a2a53
commit dfc88eac97e2177844e5dfa877f2ff60c73bf507
commit e0446e122eae43c173d0c99375e1b2cc8da009a7
commit 168448111279e639e3296ee5c19e0cd96756422e
commit 69f0925c67c21c1e3ccda152d2b6ce21c363e563
commit 244fe1666364865154930f34d8df5489df1922b6
commit df99acc7ba1be9f111debdb75e00539fed8ad21a
commit 6dbd43dcedf3b58a18eb3518e5c19e38a97aa68a
commit 6062ea9398d3ec09c521774f9d81f604d1a85fbd
commit 0567f18e0757a260031e59487fe01f402c16c0de
commit 8b5ccc9743ab026b12075eb5e3883cc9e42bc683
commit 1144e0dff5e68907cb8d3e2d64d1c00e2a96d1b2
commit 136367290ea5d7b5d05696189e9fd6162b9d9742
commit 15ca09499bc669b600dcdaf01fc0bf8c55e15b35
commit 34e804220f693fe6bb1c4e50f27dd855e9313f0c
commit 919bb54e989c1edef87e9797be125c94c450fc65
commit dd6ded6e87a97a32e06c10b7f6639eebb779257d
commit 58cfea648ff3b3bd283c03f094f24d379fe6fa82
commit aa451ae76fda24f919174a17df31c290f91a953c
commit 852791985af63bcfd66d7f6ec160cc5f9fcb020a
commit ab0b0eb5c85c5961913bdb9b8011cc8f5c14978a
commit 065ca63e161a1ed7e619ef7dea0c7c6435ee2f8d
commit 1c8f80c2aadf76daff01ab133fb11136e7248746
commit 6133cf70725049344a679f85df27d146a2d995ea
commit 4b570ac2eb54f66ff64f2864be6303b8d67cc7f9
commit db6341a9168d2a24ded526277eeab29724d76e9d
commit e28604d8337eac97fa956d6682b6312741ce85a1
commit 01bfabc2d1d8aaffe5268f8df0843a6d916dcbaa
commit 75f0efbc4b3b088cca20864d055b3854a51b5af0
commit 8f4eca6ac52a72181b4f054d4ef6289a5d8cfa5d
commit b05d6476ae2dde8eb447f907ab689083499edeaa
commit 40318a2406bd426c6f4591269669c04e8eda571d
commit 988bfa0bc67d7220ff8d9e2ba3a425727aa98af3
commit 0e405395e0b162075001b9c027443dd10b723a03
commit 570867ef90550b01f0ca0f919dba308c3f2fb605
commit 2845f512232de9e436b9e3b5529e906e62414013
commit 4416377ae1fdc41a90b665943152ccd7ff61d3c5
commit 73dd0ad9e5dad53766ea3e631303430116f834b3
commit 875ff9a7ee8824200885384effa7743892a34ed6
commit 010cc730ace807c6d267481b5fb6ff99acc35c46
commit 6ef29715ac06fad7b3e43086cb4df97952c3a4de
commit 3376f922bfe070eff762164b3fc66981e3079417
commit cb5164ac43d0fc37ac6b45cabbc4d244068289ef
commit 537ef0f8889761ffe3a6cb4a7bda4de47fe2d69b
commit e45b6716de4bf06b628a9f3559f7fc8dd5e94d58
commit 58a261bfc96763a851cb48b203ed57da37e157b8
commit 25ebe10e3f4c897a2d348a9d4b674ee9ea28225c
commit 5b993d00d7f0c970a5e5d34c1031069fb13b6986
commit b5de6a5ced074910b8fe57d3b0ab7f8843f85a3a
commit a323782567812ee925e9b7926445532c7afe331b
commit 6eb2aad402cc94ab4dd3780d8fd94c5c9bb7ed4a
commit 501d94389310bb282915e730386d1150b13ae321
commit a64e7e5b05e014dad9ae5858c9644d61400ec6ef
commit 122824165471ea492d8b07d15384345940aababb
commit 66a0f6b9f5fc205272035b6ffa4830be51e3f787
commit 6628851159c77cf5666160e0272d46acc0772a6c
commit 3126d5fff54368288e7fe1c0fd4ecb36b868e5aa
commit a4dbe45c4c14edc316ae94b9af86a28f8c5d8123
commit ff9c674d1127e768050fe418470e74586985c87b
commit e24b0ef20a20cd26a770c66bf87d911838ea00d4
commit 65112db0c21022cb1caed5a03c6392eaaf984c14
commit 4836c6cc01a16f1ac2b436550299474ad7183c46
commit 6729c73103bd7a0e60b0c980b51b5434010b4502
commit 1b5dfd1881dbe303536d4167500b94549ff2f6a7
commit b330f148017251810fc1f0c297f51b3039b796e0
commit 594cf78dc36f31c0c7e0de4567e644f406d46bae
commit 51394119f640423858a2f04076d6f1c3e83fa715
commit 67733d7a71503fd3e32eeada371f8aa2516c5c95
commit cf4d37b8157ca085c17fdc1faad737465ff311b9
commit 22bc22ccf95bfa6eb6288ba4bc33d7fc0078381e
commit 5fbca8b48b3050ae7fb611a8b09af60012ed6de1
commit 45c4d994b82b08f0ce5eb50f8da29379c92a391e
commit 071d583e01c88272f6ff216d4f867f8f35e94d7d
commit 037f93434ce9aea3dc19ba2d97e888a12e538f7b
commit 54f90b03335916e21c417a31d0926841f7d97c56
commit 9c57bc08652a7c8e0e355c52c023fddc090fe9bb
commit 002353a537a29b9be5bde3c1d9964628f0d20d45
commit 11b7309dbe9fa98d9b8d18cd51db4f385c37ae30
commit 19f01d4bbe9daf71901b200ab5c52591946b022a
commit 8a04e342684a75ad1455fc3f23fab8e67c1aa9fc
commit f9ae00b1cfb37ccf57017bf9cd82712ee0a5316b
commit 3f53d7e442197b7e7d56b470b02dfd37a8bc5c46
commit 4461e9e5c374f8c11fee8e4a0e3290b072cfd538
commit e55ef65510a401862b902dc979441ea10ae25c61
commit 01cc7b2e8a59fcae0c4493720561e5b33a195fe7
commit 014125c64d09e58e90dde49fbb57d802a13e2559
commit 04cf420bbc32a599aa2481725f708435ea19bf3d
commit bbb05f8a9cd87f5046d05a0c596fddfb714ee457
commit b932d5ad9257f262a0bfd1bd7146120b0adc11a7
commit b86a6a57b8ad1699ba8b1c270a79678383baf632
commit a08d75927f99e57c793f3a5d11260c22893fc0e9
commit 3d054c40766024d9d8fb051d017ceacf2b795f1c
commit 5d666496c24129edeb2bcb500498b87cc64e7f07
commit f0b7dcf25834afd17df316367dfe5d4c890c713c
commit 949237a34dba3f0218857f5afa0dde2076dd8c82
commit 6dcc304f85898b099b35c63748c5e11ba56d0c8a
commit 87d23164d89c3898a0acb4ec0b431e787c27a91e
commit 6692982582a54e7ecc80d7b0dae5db6cd47e2567
commit e565b6b0b5eee112db803bd955fb0387ce952d54
commit 4437936c6b696b98f3fe1d8679a2788c41b4df77
commit 9793a4a6e5eb8764c7410c361984ed01722bab9f
commit 6efc0ab3b05de0d7bab8ec0597214e4788251071
commit b4148dc2fa062cdb94b5165d39827bcb1a3daa28
commit 1b0ce903fe747d72e9eab86a06c79fb2c7ba2bab
commit 469a486541b6eb0d695a5558e68851fef35c16f7
commit 38d6f7e27d318cf41c2376980a105d02ac6e8b16
commit 3715112c1b35036039e8c4f75868a0b56a71a51d
commit ff95eabe57368d641589441e8f638b4d59f79a82
commit e45a3933bb3ebd9a2ac95b6b60da029ee3a9f4e7
commit c50fe289ed7207f71df3b5f1720512a9620e84fb
commit 97c6efb3649724e6163774f0e7405c5ca8b1097a
commit c66f4711f79c937832b6c0e0b1805061667d99ea
commit 727eb1e3f014e66dcdec53afc6f5bfe0d8c0871d
commit 7546a8201ba288530ed1bbf2a8bdcce5e034a234
commit 789e51597d33ec0053b029127d797d86c0d857eb
commit 379cad69bdfe522e840ed5f5c01ac8769006d53e
commit aec8485f226c36eb4eea1d489772cd6f2c40144d
commit bad928d2cae5d4d5ec1474ae7428a797fb34c111
commit c72084163cd22ebf59d936669ec25b1fc2b7494c
commit 3adcf970dc7ec0469ec3116a5a8be9161d17a335
commit aeb4ae66cb50faddf60be9297d0d5d392aacdd3e
commit a7f657097e96d8fa745c74bb1a239ebd5a8c971c
commit 87d8ecf015444c51ea9d9154f633f98b7748a724
commit 33929707b808ba7839c40c15d3e68cbc51070b31
commit 4548f10bf4c67b569b7c9fbc6746340a558faab9
commit b71ccff68ef1a5bd1c02d0fca01ddb3d9088329a
commit 175d648be98bae22eb22444377dd9a0c497c9d46
commit e0cb0c785250d0565c19ba17fc95bd7ab97670ba
commit 076403a69837c1f8454ceced3ed6f0465835f4d1
commit bfbdf72d6c145e008805f0745ff79f9b8e301e0e
commit 33eca84db6e31091cef63584158ab64704f78462
commit 84addde447fd9d713e101437db0d4924855eff4f
commit 81a1c37c8b52eff636e77a794d0f0620c3a40af0
commit 21bb04152a18ac2314ef4186b6dcd46f1b847354
commit 70a65a5de23337c0c0251c482520224ac80bdeb5
commit eb4556f25fb4cb3a005a93dcc6dcc4b0c024f5f7
commit a69dcaf9310ab09ed97711e0fee08e59218ed8a6
commit 8d5ac8efb6d94efda53f604fd9c072b4754a3d85
commit 2039809783d630c1022bb3debe648abced7861c4
commit 06358ccecd75bfcd988f347f79592e23159aaaa2
commit 51e039542b87cb649d50ea3b5cf90847be32a30b
commit 44378f6ef2efee3ccfa87de5860662f2356bdde8
commit 07226d09a200b92797afabd3a5131a0b504344c1
commit b5d4657e192ba7a3f21fc397cf5d169982b4ec0c
commit b2fcb48214980adf6687dda84fa33f01e9a47e28
commit a74549dd55d21612171334fb70e45241d0ce0487
commit 2160f6f6e3cf6893a83357c3b82ff8589bdc0f08
commit 7293859c51e1d7f923073aa46e2072333b3e143d
commit f7c2ea682d8ba17bfd37abd1e734348e0cf46c99
commit 5ee2d63ca1201ed23c6595cb2fc927222215bce3
commit 7745a1dee0a687044888179e6e7fcd6d704992a9
commit a9b67c036c7f5d187fb88eb74fe04dff1098700f
commit 7c1a2d8aba6cadde0cc542b2d805edc0be667e79
commit 6122f5c72e38a88eda13c7168e2ebbd3bd80b681
commit c67db6a6a6be4bb1db1b0fd5b24040d68e461cb1
commit af76ca8e180f38a7d874c18cf810707762766627
commit 30e8f4c2bd532c44af0e0fad9c04e7d2970b91a6
commit 28d43d0895896f84c038d906d244e0a95eb243ec
commit 1e487c9173ca12ae372f71a5f5c0eb57ce0ab108
commit 1125f95cd2455b51ad1c16d7f96ae39117083d20
commit 96316211eb5c4b58f34099e9e6f71fdfad7af01a
commit 52491d97aadcde543986d596ed55f70bf2142851
commit 6c0a7c3c693ac84f8b50269a9088af8f37446863
commit 02a416afbe127b1c9ce85ffa340c0a32dbc53184
commit 70c33a2710cd08a4be974a1c7f9cdb5601a8806f
commit 4f7d8da5e349c1126cdfcdd2ceede00382ad2ceb
commit 8bdb468dd7a5d17f8556afdd4c8d046939ff965f
commit 6d0ebb3904853d18eeec7af5e8b4ca351b6f9025
commit 641bb4394f405cba498b100b44541ffc0aed5be1
commit 16ba2b28df3a83443fc6b4e5491189d2e5caca64
commit 65fe9617a1256f0a36696d48f7c63a8d3ec290bc
commit d69300abc2dec930fd280a013984150ae7c6a386
commit 2bd87f0fc24ae29ead9808d341497f465b339c0a
commit c5f728de696caa35481fd84202dfbc9fecc18e0b
commit cad08fa7760ace5e01b24c6f9e1f918fe72324bf
commit 3034cc8107b8d0c7d1b56584394e215dab57f8a3
commit 20f61c1ead989e5d16f35bd0a546c6233b703b69
commit d7eafed3223af19add14b67a390ec2b983d890e0
commit 2bb3fc536d692d43cd55396ecff73c7691eeae85
commit ddc94d0b17e8ea8179ecbbefacac3fba0fb77265
commit bf758226c7e6927f1c2c34fd6eb2cb580b77f543
commit 590b9d576caec6b4c46bba49ed36223a399c3fc5
commit ccbfd2df3018e2694f750abe5e93b647a4eef5b1
commit 83e5af5997554115e198c2e9e97564702eac04a6
commit 6a2161a155f92985b21e38a9e8b9217f620d606f
commit 14ee9fa87d8c96b23d77397b684fb431c5bc2677
commit 3eac4684ecb5ea696bd283bd7f35e4829973f4f8
commit b1aa0491fad27f030c94ed42c873c3f46f5e7364
commit 8906064715c16571e691f67c2746ed1bf1bda6b9
commit 390fa93e6efef330baa2785edc2a484f7ce0b292
commit ad17b124c3a08241da36eb94a6f076446432743b
commit 6f4835f9df2df7eee0af74c850d0a06166c199eb
commit c66db9e9a025006d729c87143c3f43b5873b4a1f
commit 988fe2862635c1b1b40e41c85c24db44ab337c13
commit 0ba3cb8e7cf08223a9246ded3c1bee25a74d1f7f
commit b3e9bfd86658b562a33b1ee8563d59a593327aaf
commit c24538c4aa352b68bd5c429b7fd3ccf4d4407143
commit 8a060e9c17d0fd7a182e335a52dcb5fe327e3d86
commit 6e8410944767381524544390ce030c86f07399da
commit efaf15752d113e81a5e9f25f57dc203f7c3007ab
commit fc5da5c00c0a4880220f6f539293e49c766fb93d
commit 29d3d6af43135de7bec677f334292ca8dab53d67
commit 9888773753333ee7bed1697abd6fd9c84239cc4a
commit f2ea269bd2a55c4a28a9b825424b059a20259793
commit 072b4414784524b6debda1b3b2ffbf10d66095e9
commit 7d8e9e65f23040b2f9e9670bc971d3ec8fa69d47
commit a10c93931b61b22ff6601f74192151d548b0b14b
commit 1741281a157fcfacf46dbb6ce39c13bf2699d371
commit 2f3806f781421ce6dfa60471eb2116627c0eb893
commit 097af47d3cfb99ee02afbdd7e0d9596eb012c65a
commit d1f214432110748603dd310fbe6099df875e6f04
commit 2480599890296b386839bc53367c10f19d97716d
commit 8fe4fde381a103114903f823c6d18457b4b891e4
commit 8b2429a13feaee01d62bc248417343586f6fa489
commit 01b4ae38e5dc6798c6cd477be9c363c5ae45fa7f
commit 178ad0e280c088f5abfa61793cb992fa120d1830
commit 4d5ddfa4b1b2bf1e936b8d38735910480f9545ed
commit 01163079e136e6d6ce4474b964b8a7ec954cac81
commit 1a1995b1dc948d471854360ec0fd3306f54dfbae
commit bcee4c3f89879e15ef57f3217ded97f00b1334d3
commit 01d05521f7e2523045d3ff7b857dd68db276d31d
commit f8eee864ba5cbe1447a68949883f69228e53b138
commit 21818f39beda2e843199e5d8d9e3f9e43c8080a3
commit 3f2d35c325534c1b7ac5072173f0dc7ca969dec2
commit ead60e9c4e29c8574cae1be4fe3af1d9a978fb0f
commit a1498ab229ca16dfc35331dfb309f8e28b84bb5d
commit da6ec743397702e0b551bcacfeaa48829d303a29
commit b3b91369908ac63be6f64905448b8ba5cd151875
commit fcba2ed66b39252210f4e739722ebcc5398c2197
commit 9f6b47907e2d01bfa90c3003e42b6dfeefd8d03a
commit 059f6fc89968f4f4527f1b706de8017d368ad9dd
commit 1138137c2c48f036b87e80cf3905c1acbff6b0de
commit b34b43f9cb45ac15b0e48b5570af9e074959dc68
commit a954e0a26146c465934f4944d49cc03324747917
commit f70e43763e6a550f5b50ba4f6a0d6aef5121ecba
commit 402bd11a5394636b2bc9712a58b97bc3cbca69df
commit 631ef2e6adb0aec8d639dbea17c5ed08c8364df7
commit 8a37cd4dc50e8f29168dd5bc766ba40a1968724a
commit 41a46296214fa07cf5140c9ac9254e095bdcb960
commit 7134cc23fe73f4ddeeaaab9284399cebfd826c51
commit 963ed4efe0c6416f5a2f61e107ee3a27f0bb757d
commit bc947d9a8c3ebd207e52c0e35cfc88f3e1abe54f
commit 8da19441d0a02b53e362df81843bb20db3a8006a
commit 34bb7b813ab398106f700b0a6b218509bb0b904c
commit 7a199557643e993d4e7357860624b8aa5d8f4340
commit 596a7f1084e49cc65072c458c348861e9b9ceab9
commit eb7205b7cbff5f9ddafedf82b62590aae0a72dc0
commit 4da5a95bf125fd682249f60e296455c6413b4e10
commit 4453808d9eab0461dea338e89372ffc4a3c50acc
commit 4c4e9cb58dd75c87300ca63307ef7d4f9656eda0
commit 7b17e8f3a074ff4558527f6c595f49444a2c6fa0
commit 0126c0ae11e8b52ecfde9d1b174ee2f32d6c3a5d
commit 2c7795e245d993bcba2f716a8c93a5891ef910c9
commit 6fbbb660b1d423a777d7567b7475a6a01aa7fd91
commit 760e3c8b3288279841aa8a71e6d65c67a3934d01
commit a3cc326a43bdc48fbdf53443e1027a03e309b643
commit 0607a50c004798a96e62c089a4c34c220179dcb5
commit 4481df364d2038eb4a8f5150367b47955940f027
commit 5359d5bc975466e8791d7f870ea4a96f1b0973bf
commit f5a972dfe3e993f09cf12bd36389a942ecd23350
commit 2578487ebe6ca34fe9cd950bf68e8158639ddb1b
commit 559a285816af5b72284a6ed65eb82a68ee497d60
commit e146a7ab218626827b7c06e189e69cd2abcd1d37
commit e8397d327e7b0d6132197c9d8fd7977f84f3dbd9
commit 01be2b62c0f3c66832472ed3e48e61d631094606
commit 101025e94b537e8b5426c73a985b26fc95c199cb
commit 7eafe7a730bad6f0efb62b2d260f1ae3f2d09b95
commit 663b0f1e141dc60ce6c09ae6afc5f213b22d13ca
commit 27f9dcb9cc067d40077e116ac062e185ccd7a0d8
commit 7ccde2e6c0a5e50e11b74353b456bfe602efe6aa
commit 0df8ef6e1b5dc7a6edc6242a95f47a257ffecff0
commit af04e65f6b66339080fba0d5f44a759647371652
commit bd7c8ff9fef4b21a97f9b30a7364845ee6eaaf23
commit 2ef8d63da81d9e89cbc1eb4867d638f88bf5dc78
commit 2f7eedca6cecbfad52d5b52c1550066d9252c947
commit 578aab4ecc73476393389440724b7a391cc0cea9
commit aa47fe8d3595365a935921a90d00bc33ee374728
commit 25d48f2eb0af1f0e6f09f54a1a1716f48c0722c9
commit fedf6db3ea9dc5eda0b78cfbbb8f7a88b97e5b24
commit 88dcad2d07c8d82e6a097c8e74239eb67333bcf7
commit b8faa981a7e62848ca4ba1c77282dfdc71d0edf5
commit b2d4da31a1f40b05a61076efd4c79b88439003b7
commit 6c6ca71bc1653d00623702ae031d0f9bde06a6fc
commit a4500b82bc85f7a15cff0729315c96015849e9e8
commit 4c3140fea6277e1478ba206e8f45b9cf7a128cb9
commit 32bd3eb5fbab954e68adba8c0b6a43cf03605c93
commit 741d73f587d5cc86db5e65cc107e031263302616
commit b615b9c36cae0468491547206406a909a9a37f26
commit f7e3885aa80559d5e497eec18e6909d594497c13
commit 0289507609dcb7690e45e79fbcc3680d9298ec77
commit 0c8c5bdd7eaf291b6f727e98506fb68acee3a4cc
commit 70a6587dca37a3cf12ab323f7fd73266abfc274f
commit 83dcf232cc7919725a331359a300fb3929651b6e
commit ad92f52312614b0ef6eee07ee64f1e7661072a49
commit 457ca96d04f599d2f95bd61144851f2181ccacc4
commit 2efba0c095419f93f8913f1cbae8bf3fb030db20
commit 70b4ab5489da0fe5b699a8466aa4f73ea304ae65
commit da9a73b7b25eab574cb9c984fcce0b5e240bdd2c
commit f1a4dceeb2bd4b4478e4f0c77dac55569d153fb3
commit bf05aeac230e390a5aee4bd3dc978b0c4d7e745f
commit d92b90f9a54d9300a6e883258e79f36dab53bfae
commit 9498f2e24ee0133d486667c9fa4c27ecdaadc272
commit fcd33d434d31a210bc9f209b5bfd92f3b91a2dda
commit ec2231b8dd2dc515912ff7816c420153b4a95e92
commit 8f72c31f45a575d156cfe964099b4cfcc02e03eb
commit 2775df6e5e324be9dc375f7db2c8d3042df72bbf
commit 26df39de93bb8763bb3088db6c76eb98d4cd7213
commit ae2c6d8b3b88c176dff92028941a4023f1b4cb91
commit 9ea925c806dbb8fee6797f59148daaf7f648832e
commit 21d1d72475809734a5149ecfffdc7551503b042b
commit 52755373ea6197dac40b9804ce967611b5e989bf
commit 0da531c82a0fcac65407d28ecdb2a1e19c833df5
commit c389a0604cfbcdb1f8f53a76560eb31e0700e206
commit 28b0ef922738b74335c20b8ed4bf8e259353a3a3
commit 2f27fce67173bbb05d5a0ee03dae5c021202c912
commit 7ab9ebc580617831355843f19224f1e31bb8e983
commit ee06c09ded3c2f722be4e240ed06287e23596bda
commit 99b1f7493bfa757b03d41ee6d7f7d00f81fcba5d
commit 69bbe3adf36de47315498c9384f99a1ff9171694
commit 73d10c7788f6d2b7badf9973afbdea7ca433c15d
commit ddc73c465628ab3e60f7eb5b4063b644c18b6336
commit 9460f4bd5970f2e46fe190a0cb9814697bd7f21a
commit 6c10ba06bb1b48acce6d4d9c1e33beb9954f1788
commit bfc00a7754c40544c7446d3b664049d6e00ee0bd
commit 902b4027216aeaabe1562e1db070550c06f3ec89
commit 0110ac11952f06419d267f51a3989e989b17e67a
commit c400ec6990fb04a2ec9929b253dafa7e77c7f555
commit c77a46bebe99e70600e636a3a1f285637c479f46
commit 2ed186df27f078eb75c52d09e04aa7b0f9920f57
commit 3c75518cf27aa5a7e22e1f8f33339ded3779079b
commit 03b5038c0ad069380fab7e251d2bf3f1540d20f4
commit 797fb1533315571ff9e55e80154f48cd47f3dbe5
commit c1de938fb7e5edc4c71d33f73e9fc5c77feb02a0
commit 7181faaa4703705939580abffaf9cb5d6b50dbb7
commit 151b1813919d4ab932e69ca4032761ee0789b04c
commit 2ae6cd583c4c86c2b7e879b07effb8ffb10756bc
commit 2778701b165eda674756537054d460fb4b0cf2e2
commit c03fca619fc687338a3b6511fdbed94096abdf79
commit c2ed7002c0614c5eab6c8f62a7a76be5df5805cf
commit f588da30a20cf184f150420e4098b694908a4207
commit d18a56b247f4f3f7dbdd3adeeebd05c23f1e3d3e
commit 5a3d3e11349c2e298c0b6b4d37c8241f44d37e3d
commit f57b77d667dc6bd2b114d08d04b03869539209f6
commit 0765b2afc1118a6ab5fee624e206c782d70db28a
commit 09cb922c4e14e6531979bff4e6bb3babcd9cb188
commit 401c90c4d64f2227fc2f4c02d2ad23296bf5ca6f
commit 3766a840e093d30e1a2522f650d8a6ac892a8719
commit ae5100805f98641ea4112241e350485c97936bbe
commit cf4cebcec619d963fa7496018f03cb0ff00dc257
commit e79563bf5fb17d1a199c7c0f7d5a7a98c077302a
commit 07bfa9cdbf3cd2daadfaaba0601f126f45951ffa
commit ce83ae29f93772d604b4ea73459fb17822d6a6b0
commit ff599ef6970ee000fa5bc38d02fa5ff5f3fc7575
commit b6499840cafca25175f43ebd601913bf31d06f16
commit f510dd5c210bf8cc22e4be48cbbda3cb754219f5
commit 4bdc5b504af7de1f649004cfdd37445d36db6703
commit b74571a83fd3e50f804f090aae60c864d458187c
commit 327e62f47eb57ae5ff63de82b0815557104e439a
commit 199888aa25b3a3315360224bda9134a9b58c9306
commit fa8a4d3659d0c1ad73d5f59b2e0a6d408de5b317
commit 06c9aeb57fe894e6e442cd66870cd3e863bbf08c
commit ef126c06a98bde1a41303970eb0fc0ac33c3cc02
commit 42ac749d5b8bf78b347ac8a52eb15cc397b157a0
commit 54b86443fd4437c051aefd3f462cfff4defd420c
commit f2be7b39e43893ab5361115de2b95e7c5c86f190
commit 375b035f689735fd7a87ff31ccac3a42717252bf
commit e7d4e1438533abe448813bdc45691f9c230aa307
commit 042658d17a54c9dc8c028986dfbde49f4aa01871
commit 7b6df1d73290961ff0a00fd0022f28dd19e37181
commit d5a29e6a61028887bb8480e7c4af3547d6f3862d
commit 87d749a6aab73d8069d0345afaa98297816cb220
commit 6dcba0975d39b30be65dd038fed69e1aa111c73a
commit 856265caa94a3c78feaa23ec1acd799fe1989201
commit 84f76408abe989809de19d02e476b044fd985adc
commit de848da12f752170c2ebe114804a985314fd5a6a
commit 617a814f14b8914271f7a70366d72c6196d17663
commit 7856a565416e0cf091f825b0e25c7a1b7abb650e
commit cac075706f298948898b1f63e81709df42afa75d
commit f8ffbc365f703d74ecca8ca787318d05bbee2bf7
commit 3a37872316c2e3288e09a1322221c83e5929768d
commit 440d52b370b03b366fd26ace36bab20552116145
commit f0fa69b5011a45394554fb8061d74fee4d7cd72c
commit 338aae5478befee9e0e66afb78c2ad1e8d69825c
commit d7126c0cfc137a580eba92bd82b6d288bd43961d
commit e860513f56d8428fcb2bd0282ac8ab691a53fc6c
commit 8b0d2f61545545ab5eef923ed6e59fc3be2385e0
commit 4771d2ecb7b9e4c2c73ede2908d7e7c989460981
commit 126be9b2bef9c7068fdd464790d82e6d70f9d8e6
commit e1d27f7a9cea1e0c06699164e3b177862e7b4096
commit 6ae9e1aba97e4cdaa31a0bfdc07497ad0e915c84
commit e45b011d2c4146442a388113657b70f0c7cad09b
commit 8048e5ade8224969023902b0b3f64470f9c250a7
commit d52ac79053a2f3eba04c1e7b56334df84d1d289f
commit 4286cc2c953983d44d248c9de1c81d3a9643345c
commit cbc8764e29c2318229261a679b2aafd0f9072885
commit 087913e0ba2b3b9d7ccbafb2acf5dab9e35ae1d5
commit 3cb576bc6dfb8940228b8130638860b631dd428a
commit a8387ddc0d15a365dd04baaa325a863d3612e020
commit 34ad56a467c320d07db22146cfb99ee01704a5de
commit d7d2688bf4ea58734d73e18edcbf4684b1496d30
commit cb787f4ac0c2e439ea8d7e6387b925f74576bdf8
commit e7268dd9bb9953a9eb0df9948abf5195bf474538
commit 994aeacbb3c039b4f3e02e76e6d39407920e76c6
commit abf201f6ce14c4ceeccde5471bdf59614b83a3d8
commit 43102a2012c2e2f8424d7eef52aede8e73cf2fed
commit 394b52462020b6cceff1f7f47fdebd03589574f3
commit 2cd86f02c017bf9733e5cd891381b7d40f6f37ad
commit 2b55639a4e25ff02ee496368b03456bd28ebdc0b
commit fa998a9eac8809da4f219aad49836fcad2a9bf5c
commit 282864cc5d3f144af0cdea1868ee2dc2c5110f0d
commit 7a1f30afe97294281a2ba05977688385744f9844
commit f9e7ac6e2e9986c2ee63224992cb5c8276e46b2a
commit d51160ab00969ee6758ed2dcbc0f81dd476a181c
commit c36df0f5f5e5acec5d78f23c4725cc500df28843
commit 05af800704ee7187d9edd461ec90f3679b1c4aba
commit ef785ca7f7c80891580cafd36c8dd86375684310
commit 52d4e3fb3d340447dcdac0e14ff21a764f326907
commit 34f50cc6441b7fee4a86495d5ef43da5d254bad9
commit 9286a191abe2ea01b34be577e8a09a412dcbb644
commit 5f60d5f6bbc12e782fac78110b0ee62698f3b576
commit 156cc376a200aa9890c1f71c5e3d2fec874a7d07
commit 475be5144459b502d8aa987637dd4d9f38422786
commit 240ebf1c9d4ce1576f58e10365fdd3bed8aba7dc
commit cffa8e83df9fe525afad1e1099097413f9174f57
commit 790533e44bfc7af929842fccd9674c9f424d4627
commit 2d2be279f1ca9e7288282d4214f16eea8a727cdb
commit cb58977016d1b25781743e5fbe6a545493785e37
commit d1ef967126e295d36201e79ec64efdba31710353
commit 0f18ac78aa974660a948dafcc45f4dc6e2c5858d
commit 7929ffce0f8b9c76cb5c2a67d1966beaed20ab61
commit 3bf90935aafc750c838c8831e96c3ac36cfd48d5
commit 6ef5a04221aaeb858d1a825b2ecb7e200cac80f8
commit 1b30f87e088b499eb74298db256da5c98e8276e2
commit 9e3c85ddea7a473ed57b6cdfef2dfd468356fc91
commit 74231870cf4976f69e83aa24f48edb16619f652f
commit 67801fa67b94ebd0e4da7a77ac2d9f321b75fbe0
commit 8135f1c09dd2eecee7cb637f7ec9a29e57300eb8
commit 7257d9c9a3c6cfe26c428e9b7ae21d61f2f55a79
commit a6f3b2527375c786f2eff77d3ee8b805bcfe026d
commit 301d194d01f3074efcf3a10eae116fcddb76788a
commit 5b272bf7dcf969eb4f19ef994b6e60458ee6300f
commit fe6fceceaecf4c7488832be18a37ddf9213782bc
commit 4cc2718f621a6a57a02581125bb6d914ce74d23b
commit d7d7b947a4fa6d0a82ff2bf0db413edc63738e3a
commit 8e82d1199564ea0baab7be31f6558406bab4fe1d
commit d6b9f492e229be1d1bd360c3ac5bee4635bacf99
commit 0a9906cc45d21e21ca8bb2b98b79fd7c05420fda
commit 79bc412ef787cf25773d0ece93f8739ce0e6ac1e
commit 04e0481526e30ab8c7e7580033d2f88b7ef2da3f
commit 835745a377a4519decd1a36d6b926e369b3033e2
commit 32fda5650625065b8ae6dbd9967fb572d3835c35
commit db7f92af626178ba59dbbcdd5dee9ec24a987a88
commit e863781abe4fe430406dd075ca0cab99165b4e63
commit 42465603a31089a89b5fe25966ecedb841eeaa0f
commit 3fd76be868ae5c7e9f905f3bcc2ce0e3d8f5aa08
commit 1badf482816417dca71f8120b4c540cdc82aa03c
commit fc4d262721705f2a7b860946504e7b8a313f06e1
commit fcddc71ec7ecf15b4df3c41288c9cf0b8e886111
commit 28a5dfd4f615539fb22fb6d5c219c199c14e6eb6
commit 4809a017a2bc42ff239d53ade4b2e70f2fe81348
commit 512a9721cae0d88d34ff441f2f5917cd149af8af
commit 26498b8d54373d31a621d7dec95c4bd842563b3b
commit fe4a435bd0c20beb6d7caf87b49bc49a2233b18b
commit b634acb2a070c072900c56154aa43e2ec2d45b2d
commit f07fd958a49264eebc1db9c946eb5d2e91c470fd
commit ac44ff7cec33d5c2d4b72d52603552ec64c1a8bf
commit fcf38bc321fbc87dfcd829f42e64e541f17599f7
commit d2c72d96dff5ba408bb107193b53e3134a516c4b
commit c0ec082f10b7a1fd25e8c1e2a686440da913b7a3
commit 7760d7f93c764625fedca176891238675fd06d62
commit e7457532cb7167516263150ceae86f36d6ef9683
commit 68d26c10ef503175df3142db6fcd75dd94860592
commit 7a1613e47e65ba6967085ad99dee95420346a0ce
commit 28127dba64d8ae1a0b737b973d6d029908599611
commit cb07c8338fc2b9d5f949a19d4a07ee4d5ecf8793
commit 69b3d87212676c4c22aa4660435e2066dc7d1311
commit 2f54e71359eb2abc0bdf6619cd356e5e350ff27b
commit 4ceead37ca9f5e555fe46e8528bd14dd1d2728e8
commit 03a86c24aea0920a1ca20a0d7771d5e176db538d
commit 761f916af44279a99db4e78c5f5ee839b31107ea
commit ed931fb40e353586f26c3327813d142f782f5f78
commit 82926f52d7a09c65d916c0ef8d4305fc95d68c0c
commit 477d665e9b6a1369968383f50c688d56b692a155
commit e7518276e9388d36f103e8c1c7e99898a30d11f5
commit 4e8b5a165160e2f521cc10bae58ce0b72b2e22b5
commit 816b186ce2e87df7c7ead4ad44f70f3b10a04c91
commit 6df106e93f79fb7dc90546a2d93bb3776b42863e
commit ffafd12696d1a4c8eeb7386d798d75e1fafb4e01
commit ec1aab7816b06c32f42935e34ce3a3040c778afb
commit e5a3c24bcaf7bc1c3c2647395aae5de4660c1c64
commit 5b3c0209e88a67a8d029ed8b6e30bca383cbdc55
commit c09c4f2a972ca7cd9c8926594aa2099bcbcd3b79
commit 7626b4e96bdbbadca046a775c6b8e02b842c05e7
commit 49ff3e79a7f49e269b0278e75d35d6421f5538a2
commit 83f000784844cb9d4669ef1a3366479db3197b33
commit 338b655a1178900ac05aca7ac66dc28b05100430
commit 85e444a68126a631221ae32c63fce882bb18a262
commit 5c23878252515b8d2b86839bd4cb7dea7088aacd
commit bf58f03931fdcf7b3c45cb76ac13244477a60f44
commit 9515e74d756b6825f6119823d41b437832d89355
commit f888e3d34b8641a551eba8e0fa26209c5392eec8
commit f67644b219d458d4b314e78f2304b73985390311
commit 23d16ede33a4db4973468bf6652a09da5efd1468
commit 63feb35cd26557572ad95fc062ede344bb61d9ad
commit 108bc59fe817686a59d2008f217bad38a5cf4427
commit ba1959f71117b27f3099ee789e0815360b4081dd
commit 7c210ca5a2d72868e5a052fc533d5dcb7e070f89
commit c8fb95e7a54315460b45090f0968167a332e1657
commit 22ef43c78647dd37b0dafe2182b8650b99dbbe59
commit 69418db678567bdf9a4992c83d448da462ffa78c
commit 9c1813b3253480b30604c680026c7dc721ce86d1
commit cdc21021f0351226a4845715564afd5dc50ed44b
commit 2ba1f81ec7cbb2a9920cd3435c515247863b32a6
commit e3e1cfe33f932860e070eafec8df8780e3b889a8
commit 4d95a12beba146b0ca2de59c7ce905bc0aadfd0c
commit 746ae46c11137ba21f0c0c68f082a9d8c1222c78
commit 4aa923a6e6406b43566ef6ac35a3d9a3197fa3e8
commit 935abb86a95def8c20dbb184ce30051db168e541
commit 25f2ff53838ccbd5ce558b5d23fac8a5d7f86655
commit dcb6c1d071712186c213c26b245779f7859b9cec
commit 6a9d2e2988fa3ef9b03ddd9ba9aaa54dc23635e6
commit 5d01b56f0518d80211812420a8907ca0b6c6e4e3
commit 412a2a8fdd4eb89b263623c7a59b77dbfcf8f215
commit 4700fd3e050da8302e60ebd4850d008250fa7204
commit caa714f86699bcfb01aa2d698db12d91af7d0d81
commit 926163342a2e7595d950e84c17c693b1272bd491
commit add4163aca0d4a86e9fe4aa513865e4237db8aef
commit 993ca0eccec65a2cacc3cefb15d35ffadc6f00fb
commit fe05cee4d9533892210e1ee90147175d87e7c053
commit 8594a2d8d72d86b70b8bace607100d88111aedf6
commit f99c7cca2f712d11a67148cfbe463fdefeb82dc5
commit b0ef514bc6bbdeb8cc7492c0f473e14cb06b14d4
commit b04ce1e718bd55302b52d05d6873e233cb3ec7a1
commit 7fd3fa006fa56c0ec299c61ecf5c572c723adad5
commit 4b468a92ddb2985da66823910a1643349fe6447d
commit 55e8a3f37e54eb1c7b914d6d5565a37282ec1978
commit 7d1e2580ed166f36949b468373b468d188880cd3
commit 1491efb39acee3848b61fcb3e5cc4be8de304352
commit 4f26c95ffc21a91281429ed60180619bae19ae92
commit 694c79769cb384bca8b1ec1d1e84156e726bd106
commit a6dd15981c03f2cdc9a351a278f09b5479d53d2e
commit 1356bfc54c8d4c8e7c9fb8553dc8c28e9714b07b
commit 74e1006430a5377228e49310f6d915628609929e
commit e301aea030d60da760f85f854a82ce788d5cf6e7
commit 3ce3f85787352fa48fc02ef6cbd7a5e5aba93347
commit b46dadf7e3cfe26d0b109c9c3d81b278d6c75361
commit f790a2c494c4ef587eeeb9fca20124de76a1646f
commit 4d75b9468021c73108b4439794d69e892b1d24e3
commit af797b831d8975cb4610f396dcb7f03f4b9908e7
commit 64a2b6ed4bfd890a0e91955dd8ef8422a3944ed9
commit a353c78459f4d116216393cc29032ef5fe1472d2
commit 514447a1219021298329ce586536598c3b4b2dc0
commit 052ef642bd6c108a24f375f9ad174b97b425a50b
commit 444fa5b100e5c90550d6bccfe4476efb0391b3ca
commit f432a1621f049bb207e78363d9d0e3c6fa2da5db
commit 9b984a71c240ed9287d6358109f6a0c6ab5bba32
commit 1a6bbc4d9e55d6c9df2dfe7d4f2705a544d8ca13
commit b8d9d5fef4915a383b4ce4d0f418352aa4701a87
commit bd8a9576617439bdc907c9ce0875909aea4221cb
commit 6825cb07b79ffeb1d90ffaa7a1227462cdca34ae
commit 9fc0cbcb6e45d6fc96ffd3bb7b6d6d28d693ff4d
commit 16dd2825c23530f2259fc671960a3a65d2af69bd
commit d641a151fcaf0d043075b214b469a14abab25af2
commit df0279e2a1c0735e8ca80c5df8d9f8f9fc120b4a
commit 0e5ac88fb918297a7484b67f2b484d43bed3fbbe
commit 79365ea70714427b4dff89b43234ad7c3233d7ba
commit db0fc586edde83ff7ff65fea56c4f72dae511764
commit 67e023b93d69e5a21b16f9602656a803d314e825
commit 5a67c31669a3aca814a99428328d2be40d82b333
commit 4bb2f52ac01b8d45d64c7c04881207722e5e6fe4
commit 5f77ee21eb44e37e371bcea195ea9403b95d1399
commit 7013a8268d311fded6c7a6528fc1de82668e75f6
commit 3387e043918e154ca08d83954966a8b087fe2835
commit ce0d6970231903f43572a6998020fdc8b3a8f455
commit dd886a63d6e2ce5c16e662c07547c067ad7d91f5
commit 46f1f4b0f3c2a2dff9887de7c66ccc7ef482bd83
commit be7eeaba2a11d7c16a9dc034a25f224f1343f303
commit c0403e4ceecaefbeaf78263dffcd3e3f06a19f6b
commit 21ec425eaf2cb7c0371f7683f81ad7d9679b6eb5
commit b6ad7debf5ab3e581b5cb0f5c94e404ec968bd5b
commit 9776c0a75a1a86b753b2dc7c1ecc3baa048a8dec
commit 93d1f41a82de382845af460bf03bcb17dcbf08c5
commit 32c4514455b2b8fde506f8c0962f15c7e4c26f1d
commit 99d051c4b33cfb451dca0c30e28da25db2ce4d7f
commit 1eb0de899b1eafe2c3aca8763c99e5c5ed791561
commit 21c1c6c7d732c2f6f4c5ffc77e103aa3ae8bff1d
commit 44f392fbf628a7ff2d8bb8e83ca1851261f81a6f
commit f48ab0a39f12fd83fae13bf81152531565cd5e75
Signed-off-by: Robert Foss <rfoss@redhat.com>
2024-11-21 22:32:41 +00:00
|
|
|
void dma_fence_array_init(struct dma_fence_array *array,
|
|
|
|
int num_fences, struct dma_fence **fences,
|
|
|
|
u64 context, unsigned seqno,
|
|
|
|
bool signal_on_any)
|
2016-06-01 13:10:03 +00:00
|
|
|
{
|
2022-05-23 17:17:03 +00:00
|
|
|
WARN_ON(!num_fences || !fences);
|
|
|
|
|
2024-11-21 22:32:33 +00:00
|
|
|
array->num_fences = num_fences;
|
|
|
|
|
2016-06-01 13:10:03 +00:00
|
|
|
spin_lock_init(&array->lock);
|
2016-10-25 12:00:45 +00:00
|
|
|
dma_fence_init(&array->base, &dma_fence_array_ops, &array->lock,
|
|
|
|
context, seqno);
|
dma-buf/fence: Fix lock inversion within dma-fence-array
Ages ago Rob Clark noted,
"Currently with fence-array, we have a potential deadlock situation. If
we fence_add_callback() on an array-fence, the array-fence's lock is
acquired first, and in it's ->enable_signaling() callback, it will install
cbs on it's array-member fences, so the array-member's lock is acquired
second.
But in the signal path, the array-member's lock is acquired first, and
the array-fence's lock acquired second."
Rob proposed either extensive changes to dma-fence to unnest the
fence-array signaling, or to defer the signaling onto a workqueue. This
is a more refined version of the later, that should keep the latency
of the fence signaling to a minimum by using an irq-work, which is
executed asap.
Reported-by: Rob Clark <robdclark@gmail.com>
Suggested-by: Rob Clark <robdclark@gmail.com>
References: 1476635975-21981-1-git-send-email-robdclark@gmail.com
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Christian König <christian.koenig@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20171114162719.30958-1-chris@chris-wilson.co.uk
2017-11-14 16:27:19 +00:00
|
|
|
init_irq_work(&array->work, irq_dma_fence_array_work);
|
2016-06-01 13:10:03 +00:00
|
|
|
|
2016-06-01 13:10:04 +00:00
|
|
|
atomic_set(&array->num_pending, signal_on_any ? 1 : num_fences);
|
2016-06-01 13:10:03 +00:00
|
|
|
array->fences = fences;
|
|
|
|
|
2019-08-11 21:09:02 +00:00
|
|
|
array->base.error = PENDING_ERROR;
|
|
|
|
|
2022-05-23 17:17:03 +00:00
|
|
|
/*
|
|
|
|
* dma_fence_array objects should never contain any other fence
|
|
|
|
* containers or otherwise we run into recursion and potential kernel
|
|
|
|
* stack overflow on operations on the dma_fence_array.
|
|
|
|
*
|
|
|
|
* The correct way of handling this is to flatten out the array by the
|
|
|
|
* caller instead.
|
|
|
|
*
|
|
|
|
* Enforce this here by checking that we don't create a dma_fence_array
|
|
|
|
* with any container inside.
|
|
|
|
*/
|
|
|
|
while (num_fences--)
|
|
|
|
WARN_ON(dma_fence_is_container(fences[num_fences]));
|
Merge DRM changes from upstream v6.11..v6.12
NOTE: This commit does not compile due to missing RHEL-specific fix-ups,
which are split out into separate Git commits following this one.
If git bisect selected this commit, run "git bisect skip" and try again.
Repeat this until it selects a commit which compiles.
This commit was generated using:
rhdrm-merge-drm v6.12 RHEL-53570
JIRA: https://issues.redhat.com/browse/RHEL-53570
Conflicts:
Conflict resolution:
diff --cc drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index a6b5ab89b7ca1,1893c27746a52..db88bfc044b5b
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@@ -2677,15 -2727,13 +2727,16 @@@ svm_range_get_range_boundaries(struct k
return -EFAULT;
}
- *is_heap_stack = vma_is_initial_heap(vma) || vma_is_initial_stack(vma);
+ *is_heap_stack = (vma->vm_start <= vma->vm_mm->brk &&
+ vma->vm_end >= vma->vm_mm->start_brk) ||
+ (vma->vm_start <= vma->vm_mm->start_stack &&
+ vma->vm_end >= vma->vm_mm->start_stack);
start_limit = max(vma->vm_start >> PAGE_SHIFT,
- (unsigned long)ALIGN_DOWN(addr, 2UL << 8));
+ (unsigned long)ALIGN_DOWN(addr, 1UL << p->svms.default_granularity));
end_limit = min(vma->vm_end >> PAGE_SHIFT,
- (unsigned long)ALIGN(addr + 1, 2UL << 8));
+ (unsigned long)ALIGN(addr + 1, 1UL << p->svms.default_granularity));
+
/* First range that starts after the fault address */
node = interval_tree_iter_first(&p->svms.objects, addr + 1, ULONG_MAX);
if (node) {
diff --cc drivers/gpu/drm/panel/panel-sitronix-st7701.c
index a69e861eb1130,eef03d04e0cd2..56a4041f5ef5c
--- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
@@@ -12,8 -13,9 +13,9 @@@
#include <linux/gpio/consumer.h>
#include <linux/delay.h>
#include <linux/module.h>
-#include <linux/of.h>
+#include <linux/of_device.h>
#include <linux/regulator/consumer.h>
+ #include <linux/spi/spi.h>
#include <video/mipi_display.h>
Commit list:
commit 9fc97277eb2d17492de636b68cf7d2f5c4f15c1b
commit 7c0389c615b5c6aef1b0e38e30db759b3cbff885
commit 627c961d672d3304564455ba471f5e4405170eec
commit 8169b2097d88d99d7e4a72e20e4b549efe9eb8d7
commit 67d90d679eb3447f73e2a1fe55f7e6c6a44c9fa1
commit 2e524668c440104633af1effcc85d1d6234c7ccf
commit 96e7ebb220f8a873321cfc5a87bc4533d36ec444
commit e8babb280b5ef904df54b3a90e5a7e3a9600c4a9
commit 282e6f846d8c3fcf36293f68f38d814645c3b852
commit a708f6501c692551e3d4ea618c44021f436730d9
commit 04e9c0ce19ac68afd8be7fd54772db3b0356cf75
commit 9dae9751c7b0086963f5cbb82424b5e4cf58f123
commit 466a6c3855cf00653c14a92a6e9f8ae50077b77d
commit 3078d9c8b6a0939bc732fd1c36ef86c0178127dd
commit 01570b446939c3538b1aa3d059837f49fa14a3ae
commit c55f79f317ab428ae6d005965bc07e37496f209f
commit 01e0cfc994be484ddcb9e121e353e51d8bb837c0
commit f3a47a269119ade7ea22d0465c7fbe518ca1bdfc
commit 74e3076800067c6dc0dcff5b75344cec064c20eb
commit caaf1f44a6a27bae33eee189842c4d8fc21c3b02
commit f592e01664b4a57b109fcf6f6916145517f94bd7
commit 6be74ddd0609959b4005f88b6a4d4af678e4a71f
commit 9c62fb62c9f0761eeda8f2a9517e007ff2cdbe9a
commit 8e9bf0fb10a79aaed37474600948cd33d14aa606
commit 4c44f89c5daee9540cb7428de5d835bd00951350
commit da966b82bf3d16f89a05732c933a589ec798d3f7
commit 10efe34dae798c652053d4363871914c478f1475
commit 3756310e9fe1e0182adac89cedaa98c0eea66675
commit 1dcfca093be9e013a53e3c9b74b3f60ea9c5160e
commit 014e597d35816b56c7aac1348b77c73657c4066e
commit c4ce398cf18ae2859cc9930a9486b576ce262de9
commit 533ca79cd9f734aae56814445e3f1e6cc1a50358
commit 56ab6986992ba143aee0bda33e15a764343e271d
commit 3d122660dc70029d9cccb4e8670125f0affa959e
commit 7b5bdae7740eb6a3d09f9cd4e4b07362a15b86b3
commit b2013783c4458a1fe8b25c0b249d2e878bcf6999
commit ea74bf9ccba9ae80fc0766c07c4abaef927e9e63
commit 7fbad577c82c5dd6db7217855c26f51554e53d85
commit 33891539f9d6f245e93a76e3fb5791338180374f
commit 24179ff9a2e4524ce83014b8827a73ad03a25c13
commit 7f58ebaccb67cb22b2936ba79c844f1e446dc73b
commit a16b680a2140e6cbda41ac144564696c3ee2815f
commit e4bd1db1c1f771983393bf5574854dff26ca7532
commit 0e7f4e6a20d550252c4f355d5a303b1d9c8ff052
commit 76299a557f36d624ca32500173ad7856e1ad93c0
commit 9d8c094ddab05db88d183ba82e23be807848cad8
commit 71733b8d7f50b61403f940c6c9745fb3a9b98dcb
commit 993d36ac99efeafeb7b5f12353def6d7d20d6389
commit 0daf44ea9dccfcdb1fe694e9ea85497b6cc3a065
commit a4d5ce61765c08ab364aa4b327f6739b646e6cfa
commit 211ad49cf8ccfdc798a719b4d1e000d0a8a9e588
commit 4613aa66e42ba1b0c896495a207b3b26e94e44d5
commit 61fe488fc78a3024b8d4cafc90a34158f4562dae
commit f6ca930d974e473fd608fc9aa1759fbe731fe44d
commit bd85e00fa489f5374c2bad0eac15842d2ec68045
commit 57c2b3e684ba3e82e9944bc1975e047bd1630537
commit d6e850acc716d0fad756f09488d198db2077141e
commit ff10c99ab1e644fed578dce13e94e372d2c688c3
commit 0237368193e897aadeea9801126c101e33047354
commit e97701a069612ba2fa1d92b56a720b108049df4e
commit 3b0974d7b74a908d1caa27f05a97551943e1bffe
commit 09af6037128c101c280c95c56d970ce8475506c2
commit bc34d310b578952d37b5200a7fa7475ab2a2bd5e
commit fd5a9b950ea8ba2c08ce07418b36b296a04d712b
commit 6c9ee258b1f4e7021224c9bf541fe6b17a03ee40
commit a5beee65241d25ad20dd814668c975ba13a42615
commit da9bbdb97469383a2ac97435a3b09543d14139fe
commit 4c46e34e67587b268abc3916c9613426018561e6
commit 94900000380300b230dc1bed489b598a2a2c55a1
commit 6a1738b3fdd92d48e61de438d05dedbc00fc598f
commit 566ad72ba636b745beb8a440bd4c05e779b95728
commit 4290eaa8424905dcee4daa0666ec841dc3a0bfb3
commit f89d7664c3617836aecd291c56c8ab63fe228fbd
commit 4d722029930bca7f53d99dbfc300a40dc297dee6
commit d43caea1faf5c31dc02aa1adb8bb1aa1c33bf86f
commit 43a6faa6d9b5e9139758200a79fe9c8f4aaa0c8d
commit 6f1cacf4eba7a3203f08954a7e00b744e43f741c
commit 4c3fe5eae46b92e2fd961b19f7779608352e5368
commit 86c5b70a9c0c3f05f7002ef8b789460c96b54e27
commit cd3a2e8b0a0367c636cd82efaf7802cf85ae5dad
commit 7bb97cf915884956311352eae3f444eaaae48cea
commit 3ac9384061b250ee40eda5facff10b85e2d5d3d8
commit 45d30c828c613441bfbe5c97ca766854152b7181
commit a237f217bad50c381773da5b00442710d1449098
commit e1a261ba599eec97e1c5c7760d5c3698fc24e6a6
commit e02cea83d32d3a616c9ef8b6b50a83444a6bbcbf
commit 7dbe8af13c189f5937e87e9fb924d5bbc49e6f71
commit 452bca0edbd0764ca0284239d5438b3edd305ab3
commit 108c972a11c5f6e37be58207460d9bcac06698db
commit 54f07cfc016226c3959e0b3b7ed306124d986ce4
commit 8d79acd567db183e675cccc6cc737d2959e2a2d9
commit 2b808d6b2919cb2fe92901e5087da7b4ed4b9e07
commit 523f191cc0c728a02a7e5fd0ec26526c41f399ef
commit 8a92e2a67f627e69dd52aa9c2d3176be13aef2cc
commit 3849c6ff3a1517e4c8a6d004d9cb31241c849713
commit 775d0adc01a55fe0458139330415d86bb3533efe
commit 275aa53f59df769802f28a0a623019aadab2e05d
commit bc657615e10ddd7637dcc05811194ad7e2baea33
commit 99e0fb8b087120b5a7019f1cff6c5c2b5b925ae5
commit 0fde907da2d5fd4da68845e96c6842497159c858
commit 5e4e1ed6b87b6b3a3531cd8b5cfa9c3b09d841b2
commit 104bcfae57d80c484185c012cc0ee8d8d5889a7e
commit e4a0251d36fc6c190c545aa95702eec0efe05a4f
commit 7108b4a589cd6d3a2c1276fd610b3500f46de66a
commit 0c977ff2b807aa53f655f095b0a306f18d8cf7be
commit 3d0c4a62cc553c6ffde4cb11620eba991e770665
commit ce8c161cbad43f4056451e541f7ae3471d0cca12
commit a2387e69493df3de706f14e4573ee123d23d5d34
commit 2149ded63079449b8dddf9da38392632f155e6b5
commit 754c9129b9494b2b058add1d1a627fb3c9466a03
commit b345b3542d66fea49bff53288d347ccb06fa1b3a
commit e8f834b559621d634a939381caf99a024e272211
commit d6460bd52c27fde97d6a73e3d9c7a8d747fbaa3e
commit 5cd522b5331b348302fe410dab1cd070e4fd6998
commit ad16682db18f4414e53bba1ce0db75b08bdc4dff
commit 89c6ea2006e2d39b125848fb0195c08fa0b354be
commit d5070c9b29440c270b534bbacd636b8fa558e82b
commit 9f774c42a908affba615bbed7463dd4f904dd5f1
commit c2c2a91f3868515969a758042887fdc722216525
commit 3a9b77cee7502f7450c725d4ead2c4a44924d158
commit 7e33fc2ff6754b5ff39b11297f713cd0841d9962
commit a522b285c6b4b611406d59612a8d7241714d2e31
commit 61ac035361ae555ee5a17a7667fe96afdde3d59a
commit 0a382f9bc5dc4744a33970a5ed4df8f9c702ee9e
commit d930c19fdff3109e97b610fa10943b7602efcabd
commit be1dcdffa8fadc22ad272f605a53e2a2fd30e7f8
commit 2885d283cce544cf3619f35f0acb3d073de036e1
commit ec92c47d7d098e85eae7fb25c6bc07158686e675
commit f6f22012e6c73867b959524604984ee5ebfd105f
commit bd40536ae33911bc74df5ba3b29b573dcb72f904
commit 8bfab7cd8335b10bad92e44f58c5a038762bcbc3
commit e17eedf56ea7afacd919a3d6cc75a617cddd003a
commit 8f3d86f13eb2b37d86fc48df8995dffd9b7d9010
commit 37db1e776285518a7e1269b868d094a4532b2d54
commit 57ecead343e724b6ea38e9c2d8f794b293cf2951
commit cf1e6edbd1c8ba654f97071ccb748d87ef0115aa
commit 9790bbe3ba48b659c0152f49552f6abc18f85bc8
commit 25ec7e809cc1fe9f01a71199d29092f6f1b4611c
commit bc3ca4d94369838c3b6668a183467d4a69a5a482
commit f00bfaca704ca1a2c4e31501a0a7d4ee434e73a7
commit 7e0fe233aa0849de8a0a5e60cb0d71dfb359664f
commit d4b9b6da5777bb03f36f01bb6b05c6cc303ededb
commit b26d9dddad7bca6727069f6a26b265d303c65c49
commit bf32a3a1268638442ac43b347e4a4a09044dccea
commit d5e79eeba3086a52593b295ac4bf6eddd64d4aad
commit 9c27f613d55f8ffeb3f250d9d34e41edca3df3b5
commit 649b93dbb902ae3237fddbe998eb1f4de1a14b71
commit c8a31ff6199f12ca65d73f1235117c1d9e6365a9
commit 8af13c3fc1259c1b8cfc4459d3701fcf41ad74df
commit 1fb4dceeedc5f0d1d062ddc44c4a426e1639e387
commit 19cc4b7d75b52df2b4fbb76428a6b0dda3d248bc
commit f763c3b543d80ebcb94dd19a69324bf2b72b23ab
commit 08bed7e4ff24f90e200defcd2c23e70b0a3cd710
commit 43796955a89572c63f7f96e271a2849c27d18f2d
commit 00bb3223bf7cfed3c9c714e994cbd454cc3e6b73
commit 1eba165aa40c79f65f487678c8ea8e77b1c6a5a4
commit ccb54d7d91d256485cfe5403a12abb0175ce4539
commit 0f1a93704a5cf53ce819a7c544125442666d61ce
commit e84f798a93881062cd14ce316a68068edd50bfb4
commit b68417613d4134b9e39fff95e72ca726268b47db
commit 4ccc8fdcca670edd76d8bfd6389f04c448cff6f6
commit 5f30ee493044e9ea3a46167e5597a96f5c302adb
commit 0961367cb5208850a123d235d147f92f586b2491
commit 98579743c4561acc3b1c7d2f3fcd46b2160db5ba
commit e8d77cfdd2698039667432b8569bac34d13508c1
commit bc2fe69f16c7122b5dabc294aa2d6065d8da2169
commit 3c9154310af71802de2f40c5689b66009a407f37
commit 5fc77c26970d443f1c020ee8a5d475ad6b81e15f
commit c83ecc0bee94995117329fccbfa6e8b43ce56044
commit 218784049f4b90834dd7b854857df0b7e0f76567
commit f5c783868855bbecfc4311050dbaca4cb28ada5e
commit b3c9c9affd71f1f9b136534d6f56f392edb78620
commit c18fa08e6fd8952e88fa9ad108371c2bd5b82564
commit d94df7cad26b4c5958fbfa550d65794c89aa90ba
commit f60881ca126cf825b89b4118e93dbd82ea9bcf33
commit b995c0a6de6c74656a0c39cd57a0626351b13e3c
commit 367cd9ceba1933b63bc1d87d967baf6d9fd241d2
commit 3718a619a8c0a53152e76bb6769b6c414e1e83f4
commit 5559598742fb4538e4c51c48ef70563c49c2af23
commit 1ff12bcd7deaeed25efb5120433c6a45dd5504a8
commit 35ff747c86767937ee1e0ca987545b7eed7a0810
commit 892abca6877a96c9123bb1c010cafccdf8ca1b75
commit 906fd46a65383cd639e5eec72a047efc33045d86
commit 5d2c102deff63ff8980dfa848ee41858d255c291
commit 2563391e57b5a9c1d83fd36c05ac4cbafeb5efe6
commit 5ed9481db74740fd33ec4079b29db88e8c9f4a1c
commit f91a9af09dea850d83d4b217b8acbafd97b5c61f
commit 39d496d4721ba509647a70041f38d82b03c74680
commit 4e8eac98046446d99cbbed740f0767204b839f3f
commit a41d58fb91248557438de4e8298d1d2ed5b39564
commit f82200703434522f1b35d38bdef02486d22b2f25
commit 9932ca4c03c8181601f611dd366fceb765329800
commit 0beca868cde8742240cd0038141c30482d2b7eb8
commit be1fb44389ca3038ad2430dac4234669bc177ee3
commit fdd5ecbbff751c3b9061d8ebb08e5c96119915b4
commit 6d64d39486197083497a01b39e23f2f8474b35d3
commit 323b19f424486e61784e8797a8bfb2e24585e162
commit b8d3782da396215615c3d125f0829d1d06ad2c97
commit 08cbe68d4aafcf651a86730a485df53e6ee9f594
commit be7a6a5171649c39f79a6259518218351082bd99
commit acce1eb8eb5de360fd82fd900454ff180912d8b1
commit 748b3c4ca0bf43cec186ace2ecb33457d7a4653d
commit f59549c7e705be0087d08bc116ccc767b86d8362
commit 48eba83018c14ba6c102f5801d31c398807535d9
commit 6b0a9bf72c04cd8d2864fccce42817c24b060aec
commit 2d67c4b54909982d462bfe227279d1499b329545
commit 60a9472cf0a8568f32be6cbbd32ee7759bffe215
commit 90985660ba488cd3428706e7d53d6c9cdbbf3101
commit 78dd6a8d33a3363fb4196e173be0eb4002962798
commit a6e23bec8ed184ed2a11080b28cdbd7a3024f0c0
commit fb1b5e1dd53fc834e12f69749cbc8484382599c4
commit a9ed2f052c5c14e4be58c5ec8794dffc87588123
commit 27cdf8c3cae2ad1dbfe1a32ff999c98349366862
commit 56631dee2932dbc203f0abd1011aa9d3d621e206
commit a7e8467fbeee654e390aad1736291d273b407a2c
commit 7a38efeee6b59d0984ff0470d234a06fe6a7cf3c
commit ca82ee4e9fc1443f9ceec615918b299766432eec
commit f2ac52634963fc38e4935e11077b6f7854e5d700
commit 4df9e2200fb8ae7199e46eaffeb9430bc0ba3ea7
commit 666f14cab21b17ccc1bdfe1e82458aa429b3b7e0
commit 93381e6b61804b777f60357d96d6254eb10b9b56
commit abf839f5ebd98134f51764f2a2841faa6cbf268a
commit 80237bfc031cd74cb8abf0d21094207284d56a48
commit fec5f8e8c6bcf83ed7a392801d7b44c5ecfc1e82
commit 585e3fdb36f59c5cfed0ae06c852dc1df22b1d60
commit 49cfaebe48e97500a68d5322a8194736b0a2c3cf
commit caaf576292f8ccef5cdc0ac16e77b87dbf6e17ab
commit f9e292cbba21e79abea7315b41a52c36ea2b6980
commit c86ad39140bbcb9dc75a10046c2221f657e8083b
commit a11b36ba9c1ac494c6a5cf7f1a5e68c1ce4dbe18
commit db54a725d57985c869f6fe4153a36cd229ab0b73
commit fb91065851cd5f2735348c5f3eddeeca3d7c2973
commit 72dc6bf159467f43667bead6016965821186490b
commit 3f7477bfbb906ec1cd9ad681475a04a142345eae
commit 6fa4bf3dce0668a96faca0024e382f4489a9cc9b
commit 332315885d3ccc6d8fe99700f3c2e4c24aa65ab7
commit 14d6ca0740e6237f4bca2dabee4e240b6f4be508
commit 0cf80506918da0d2cd9d31e3b07831f94a2c5cc6
commit 94beb4ac1b3bc5fbeef977960a90ee4f594b4465
commit aaa21e6a33bae017fc190bd75f76baa29d259346
commit f52ea01925f4eeb967c09cb5dae61608a2330541
commit f7543209ce5dc09e3f5a27a7d4ee53e226283719
commit fa53b23ff7c98930c7e529b8f5228d9f182ae2bc
commit a90e1dc25c064bf21353cb342aac938662a148e4
commit ec0d7abbb0d464619d6d1646f03603c6616d966e
commit fae1879dc229249c17e5fd4ef81bf33684ee58f0
commit 1a03b0e6c5fdb476203be4f4597205ff8799369b
commit d925c04d974c657d10471c0c2dba3bc9c7d994ee
commit 3237403b98e173c296ec83cbba5e9def331c5e13
commit 58ed441367b9b0fb48aa8cd471a73073d1143e16
commit 8732594017d32132ca741f4ec4eec91211f5d10c
commit 779ea9d32612f8e78a2f362d52cf31c23ba878f0
commit c8a0222dedf90e9a79b88814e32ffb43ac4beef6
commit 0352e39e7e781fe6a408c70a336d0f321dfe108b
commit bc50b614d59990747dd5aeced9ec22f9258991ff
commit b7e99058eb2e86aabd7a10761e76cae33d22b49f
commit bdf606810210e8e07a0cdf1af3c467291363b295
commit d81873f9e715b72d4f8d391c8eb243946f784dfc
commit f22f4754aaa47d8c59f166ba3042182859e5dff7
commit ac2140449184a26eac99585b7f69814bd3ba8f2d
commit 12fb3e9c88406732749fb2f111911a2438eeb0fc
commit 7e60ecc2b70adb41b92752cbcd749040e00b57b8
commit 9c7e69d2e1245fdd5fa5c65cd022530b2a5ef1b7
commit 68e599db7a549f010a329515f3508d8a8c3467a4
commit cba7fec864172dadd953daefdd26e01742b71a6a
commit 4b6377f0e96085cbec96eb7f0b282430ccdd3d75
commit eac3b274aaea11ec4ade8e8f684055db80d5f8b7
commit 22a9d5cbf88a92ac6cd473c3ba1c369aee8fec9a
commit 834368eab36922595a402b9e76470f8efa2fac7f
commit 8284951a6e79c6806c675e5f68a4cd425dd56bc4
commit c395fd47d1565bd67671f45cca281b3acc2c31ef
commit 015b8a2fdf39a4c288ff24e7b715b8d9198e56dc
commit a2737c404cb2c1c335db30737925a306a2e7cc11
commit f53f526f7050041718af84e33fc24f670e7dccdb
commit af4808ac40dbf668183d0b69ef6b31e62e1fc5df
commit 4b95cec68937a6302c7085b26258cf721d726684
commit 2662b7d9d8bc1dda1f89f0dd33422e069f2f861c
commit 39879321769cc2d9a690725959ef76af92a38ac1
commit 48695573d2feaf42812c1ad54e01caff0d1c2d71
commit acddd5cf70e609e1e1e638ac0422977ea2b4783f
commit a7909022371dc8c70bdc4871a97cc49e34d78a6d
commit bc6c2a6f6495668e3cf0acbecf820b93ca03aef7
commit 5ebca62eb8ebff67e2c8c4903bdb4f3c07922114
commit 238352b4949bc5c724f6adc1c78d50f1d15e4759
commit bd4bea5ab2bda37ddb092a978218c4d9b46927e6
commit 61eec998c9399d1cce91c7a2f51a4d0cfbab97bb
commit c60ca14bfd2d399a66f7164e044b63991c6a5a82
commit 708899133615bdb8087cafa129b8e24397d0c79d
commit 2108cdcee58b06460a8ecb106d15ab69f5bd49fc
commit 6482253e6e1ad1c3a76645a3899d3cfdb5b918cb
commit 76a791fa0926e504f262310cbd0c8f1a60e67ae8
commit a2b4da9501c120d60413065169f140bc3d2e5991
commit 66ac3451fb467ce44fb1d4517f91db7390b9fa6b
commit 7214da0ed2220a2b9ad22aa77a5974cdd2a62799
commit b46119578167150810184494b2a097c40e2144b8
commit b049504e211e8f4dbcd40434f2dcab2215ea1039
commit 305cd109b761202d71f2f655ea369fe889ba1d01
commit 3b37e2725ab32c9055bec00ef41caa63839efd37
commit 0b071245ddd98539d4f7493bdd188417fcf2d629
commit 08ae395ea22fb3d9b318c8bde28c0dfd2f5fa4d2
commit 47c0388b0589cb481c294dcb857d25a214c46eb3
commit 517fff221c1e6b8a8db69e7a440116caee120ff5
commit 629568d25fea8ece4f65073f039aeef4e240ab67
commit 1a394b4f504f33eac8c38b6f42ba025105c7e869
commit 31b42af516afa1e184d1a9f9dd4096c54044269a
commit d34f4f058edf1235c103ca9c921dc54820d14d40
commit b4224f6bae3801d589f815672ec62800a1501b0d
commit 3e307d6c28e7bc7d94b5699d0ed7fe07df6db094
commit 10ba3753665f77314cb475e1a4ad0785f4770c4b
commit 83b501c1799a96a41e163973e88826253ffadfb3
commit 773884e39bb5a57f998af48b3948308568027a54
commit 93183c9959d456530ae502865586522acf21adf7
commit 3c8d2d5da3e29f73fec6e04a424e789422f697db
commit d969b31afa439f71f810076a5612596dae38fd86
commit e814902866ed22bc07d2af1303f3183357a438e8
commit f4aa02c43969c36213a7fd4e56831693fc83ec4b
commit 351a88713b6daae5435d683ddab1913a65d09eb2
commit 8155566a26b8d6c1dd914f06a0c652e4e2f2adf1
commit 17c6baff3d5f65c8da164137a58742541a060b2f
commit 75c3f06fd900e01a68b8ade17e6b6be64cfdc9ff
commit fdedd77b0eb31209c59107de66880ef0be21a77a
commit f3c681f0c3b171db923d6147785064962351e043
commit 60c30ba7ba2064066ec462236666058cbbf619c1
commit e06b71b2313a00579ba64a1cc43ad29d64cb8d4c
commit 8f28c465a455563917aa15bf5ef40016b2a665d6
commit 641a118c9d91e53bc920ec0ea2ea350d84eb7a9d
commit be8f9f4c866f41b62a3df9a5cfd54e0e88fc3e3e
commit 81e0a3d1063e388efcbbb4648e07479575ec85b4
commit 5e9209c3739454a08c4d770c649187b0f51dffc6
commit 9d8e91439fc3890de55eef2bcfde97470b7dc04d
commit fd6797ec50c561f085bc94e3ee26f484a52af79e
commit 0d5040e406d2c4404d26b841c4aa34cec0bf1088
commit 20d70de5823ee6b9d4e8b3db4c13123cee0358af
commit 961ae5f9807bb15af0065485785725768a7269b9
commit 448359c1ce50a8e61842c39ffd52f399409a6860
commit c0bfe34330b5fafdbbc63a7124841711651b96b9
commit 6777264dfabe2a7c75453031bee5bcc2e7882cf7
commit ea94c8e217f9a845bf2c565b77c5eb078e975eae
commit 2e408ad7a55273b55b14ce28f62111dc1c4f7fb6
commit ba6b8479c944c50db7e2a81794885896fa6c48a8
commit d075d99ef73bbeca878fe2cbf758f8524bb698d5
commit 8bc1ab4f615b200507b113d31ca614fa17b9772d
commit b5bd7cf76b7cf8f2dfe36aec0e4916a2a95c8fbb
commit 4a865f6a76ed1295d878029cf7a1797395b1aec0
commit b2d474d4c8fa9cf7d18dae3c0784c4a710e850ca
commit ca6eef9b1c3486bedadad6a85d246b26df51c61d
commit d6e44a8548b614fa9d6c77e0c12b929c2c791258
commit 455167e8751c7fc50e88496e6d5dfb896e2ab3dc
commit ffe9f1bfb3e6709769779bc6c1a5b1d971b7b95d
commit 7e0d8de4d35789b57eee8acb0a952b854edb37a1
commit a897f65b3a6175243e4878e2fd2e9b8f494710ec
commit def122b64e37daa39774d4afa433ad42b8a5eaf3
commit c45c999cfb6716d40af9048ed0142e42a6235378
commit 246b228eb905c94663af435a1cd6cd31cc205ba0
commit fabc65d16337b6cee1cbbd1470bbb903f6daf3ea
commit cced63c3dd23e061f0fca754a3aeb35b62b0a628
commit 216c3c4424bb42bd6e4ea75cfe0c22aa7dceda6a
commit 8d7b2d3a7e3aa4fac309f9a496e6b237729d2b01
commit 6901f1d6479b6f81b537672cc16720b06b2ab3a5
commit c6bf82d426d8293d7257b9db368e025b1fd66454
commit 0fa0955acdb342bee3651bacfdce3d8927ab1025
commit 3019023ec9fb2bd7b0d2d82ce847ae2520f24c1b
commit 5cca41ac70e5877383ed925bd017884c37edf09b
commit 2eb58f22e2761b75e4f35847be03ddd425ae2b5e
commit 3543e84e20fbd60e02264f757c77c7dbdfd1ee4a
commit 034142a303fed2903957b06a7c91abdff5531bcf
commit 0df26c0d69dce1141218e0e5ed0ad378a0c6c058
commit 723388bc0fb68f2487795796f4e616ea39cee99c
commit 61671d85def2960bbf52db22e9e45b3bf8a5ceb5
commit f3392e662efdc095f10109f588aa4f3be86f7eb5
commit 50d10d9271f6c6542196c54275091c7b2c6edf97
commit 58d283801d06d4434df6625ed6e6b8d2ba47fe65
commit cd162ae9bc3ba91eb630a1321afd3d1dde5f2000
commit fbfb5f0342253d92c4e446588c428a9d90c3f610
commit 25dd25f86eca77b1ce4a611432f57b006fa91615
commit 8e4ed3cf1642df0c4456443d865cff61a9598aa8
commit 66d71a72539e173a9b00ca0b1852cbaa5f5bf1ad
commit 7c5b344537a143d15385992e41a50a9c5125e93c
commit f9e6759888866748f31b6b6c2142a481d587f51f
commit 7fb363c57522b704e156fc4c5fbcb7ee133fe304
commit 17e68f89132b9ee4b144358b49e5df404b314181
commit 0e4b858285e633ea6bc7335fd66529955d023af9
commit 076362d931d0d5ed01a3d1cd4d066f2e6e7f86f8
commit fcb3a4fb8255149a73afeb3d8f2397eaac3a46b0
commit 680caca6feee720d0a6cb00f892c0d2d46dc4075
commit d5022deb4a526009fdc20e4d62528b25b05112dc
commit 3f96f545f877ac59d0c967f52d760b4b2b3b9a47
commit 722e96c99f1d7532fdfbb557f50a399f6cc57d82
commit 58a8ee96f84d2c21abb85ad8c22d2bbdf59bd7a9
commit 739d0f3e1f36738d4cd84166784a8f7a58d69612
commit 9724b8494d3e85cb01c377f201bfaf25fd7d38ff
commit 093b79d034c59a3b66f6312863502378a422496d
commit 4981bd4749fa769b3d6acbc82fe8059c030d0920
commit df18a4de9e77ad92c472fd1eb0fb1255d52dd4cd
commit bd870cfd21489d28195fda157710ebd4cecaa8ca
commit cead9ac8b0992ae2659b637e86a0da7cfeb5e267
commit a15268787b79fd183dd526cc16bec9af4f4e49a1
commit 13d8850a3387635c051c5ed1c8a8b6c1e9bd1341
commit 608d886c978cd5f3d8650630568d96c231845227
commit aeb81b62c7fe4782198e9dd79c7d6cdf04d92586
commit c6bb3acf1cdeed5d01ebde70b769a8e25993965d
commit b5126ba85beadfa1f3cfdc9e7a8533ad444ca210
commit c3f15273721f2ee60d32fc7d4f2c233a1eff47a8
commit 6eb1fe53ee94cffd7187844d08d46ba8659d667a
commit 4067f4fa0423a89fb19a30b57231b384d77d2610
commit 31663521ede2edb622ee1b397ae3ac666d6351c5
commit c9bfc37f085aa180b3c49b9c95756b9ef032243e
commit 0c3f3a83c7e8dfaaae4ba8a5b69bd6bc13340d0b
commit 0e8655b4e852ef97655648b91ce780384a073ff4
commit a6ed988ecdffb2680a65f142acfe3271e6c04ab4
commit 6f4e43a2f771b737d991142ec4f6d4b7ff31fbb4
commit 7657d7c96657179d002817d5ec2a1d4c84f21cdb
commit e525473fd5b7202ae751316799ed759bfaaf02bc
commit 20c3a0241b5c15c0d64929cba04653d5556b7d5d
commit d93a4fec186c106115d0b3165047dd06f2c1aaab
commit 9eab82c38d0184289ffea56477daca8425758442
commit 6da8acfdb6e1aa72787efb733e3af9e9e0c57b9a
commit d51a75ac975a6147a4dea2d68cef4566f5c2ecaf
commit 1c408c516414fd9760c54f6d42ed1fa44a1dff15
commit dbcbfc72d3b660b6dd9ea7d2c089c228609714ec
commit e4ac526c440af8aa94d2bdfe6066339dd93b4db2
commit 250ac9ee60dbb14cdf422ab7f2bc28d671ac9f46
commit eb53e5b933b9ff315087305b3dc931af3067d19c
commit c91d75a3c6a2567e8c6b44f7337b6955596ffb86
commit cbacb1b74400299edea7e9bcd58bbc7c40dad8c1
commit 2281475168d2ab3fbd763c2fd762f99a411fa1b6
commit 2000ddac9b5ce5102ab1b194a1cf91e8af3017d5
commit 833cf12846aa19adf9b76bc79c40747726f3c0c1
commit f2881dfdaaa9ec873dbd383ef5512fc31e576cbb
commit 7f7a2da3bf8bc0e0f6c239af495b7050056e889c
commit 6f20fc09936e786a4ba18f5514fe185e0451ada9
commit 4c288f56030f380acb9572d88396ac15edfd30ed
commit a755947e050b8751fc5402609a7d600e9c756fa7
commit e9b36c5be2e7fdef2cc933c1dac50bd81881e9b8
commit dbaeef363ea54f4c18112874b77503c72ba60fec
commit 0cf09702a118b1c09b694862061913108565edd0
commit a64d5fe490cd92d74b1cf46da63164cefcc61a58
commit a3f91f405aa7c54d0856c1b8698e4ff05ae7d439
commit a4530e20faddcc4ef4e5939f186a8560c71a5e94
commit 634e1804242b0d5d64031199236fb3f337b5af3d
commit 96c468c366dacc0e41e08ac53e20a5025f6ba967
commit aa705f7ec6e2423af87c20b30f0e26eafdfd4513
commit 8f1fe39ded725483a67c15014a1863179c783b38
commit 9d1f218ddce20329a01c46d7a1ea4d88fdb0fe86
commit e40fbf616610e33aba9597f278925b4ae8cc806c
commit e44bc451aa4b08845c238028daafb4eaffb573a3
commit 5c7b393452b55ee0cdbced0d3bc798f6875b5c24
commit f1e6f89506e48b42235755fb3c2b73022697d8e5
commit 4da409ba6430e3b5c6da7879dbbdc5f6717d91b1
commit 6c9e14ee9f519ee605a3694fbfa4711284781d22
commit 688c43dd6ca9e0cd0568868aefca5b041695c3f4
commit bb99c51bdaa846bddb85a1e7acca3a3aa5e9f082
commit 3663e2c4bc45fcdc71931fcbfcbfbf9b71f55c83
commit d97e71e449373efbd2403f1d7a32d416599f32ac
commit c0e0bde2c7e6bca2a1f195d82ef7598d521399e5
commit 146458645e505f5eac498759bcd865cf7c0dfd9a
commit c3bc97d2f102ddd5a8341eeb2dbae2a3e98bb46a
commit 53369581dc0c68a5700ed51e1660f44c4b2bb524
commit 4f04d07c0a94b0b30db839e44f1b8364a1b508ac
commit b6b242d019ed23195c81cf00eb8290d386efb83f
commit 717b432b6d55e1dcefcb5e2ec315bf66b6ab8c54
commit 21e97d3ca814ea59d5ddb6a734125bd006b66a60
commit 2009e808bc3e0df6d4d83e2271bc25ae63a4ac05
commit a4172af3040cdc207f1b60efffcdd219156093c9
commit da1878b61c8d480c361ba6a39ce8a31c80b65826
commit a99aff2608f422da833cd91fa1eff23daa05c0bd
commit be1dec570b6f5a29ce9c99334c52bea94c28914b
commit 8d5309b7f67571bc0c95d430f4722a99d38f3b79
commit 843f10ce6539cd5e4989415e18cb809f4cff8b91
commit fceff12e52985e49c464f402e11b2f97bce3cc24
commit 3196763851b5fb9f7c8c488e233e947292cd71a6
commit 8466a14173e5ff7c2a52d8700a13f4b841d0e17c
commit ce9b1466f5a9a1b2acc80d29f12d69559fa97174
commit e60244554ca98e87ef731739f608eac54e478e9a
commit 2796b7ceec95bd5a7069cd27af7e4cf01a692db4
commit 1de99ff7371bc6ce2187081bf5bfbbb4a7de28d7
commit 34d0472ce1087fbf8e2ba504a4625e4c74286c63
commit 60a2066c50058086510c91f404eb582029650970
commit 97b6784753da06d9d40232328efc5c5367e53417
commit 54bf0af90844fbf18f5be3272eda69198dfdb622
commit 92653f2a572505adaf7f13f695c1907e71a1dc84
commit 7c5537cee9a8dff956e3b9a3f68c22af06a57558
commit 7b6cf6c750da7661a90c12642c3a8f141c7c2819
commit 68914b7c4dae0fd59ccb6b8bd8e2b6f5656cd25d
commit 0b8778af8babe55f133b9bfe3a5bf234a36ad7f8
commit 75830999587470b17a30d2ecad25ad13cb272c19
commit d7683c49638c83bcb6a817671bb348dc435da3b5
commit a0ac33cb9a12f1e499c9f009067a3135df626cd5
commit 16c9898ac5ab00fc96efee404a1b8bcfe20ad48b
commit 9a72570491b524c9dc4c1caa7323b2297c27b0b7
commit ca0fb243c3bb53dbbd71d16c76f319bf923ee3d4
commit 9330af0af3d54df71b6b752a260dadef05a4fc44
commit 29d0732f8f61ed028d642034e5323b8cdf6a1905
commit 85ecfdda063b6f148335c354c8b7200a49640510
commit 5d6a620875a04e70c51d8366eccae74d9cef0308
commit 6cc213b9aa34bc3213e20f9256345c5cc1495b0b
commit c7b3569b3ebc53e997500be09eb612b6c852525a
commit ab799c16c9d537fa2f070283f1ca63a4425502e9
commit 675d9ac9d0de765531e94f9fdc536989a997a324
commit 24ffa5bb6d363c8164be6af974e318f5752797e1
commit a00a177055cced5cd2bb057a1ace9a95a286bc49
commit 74bad61c5d83f5af8a855c8b7dc8e20377c74d46
commit d91f93c7a7fb9589e62814c1e229943e1259b48c
commit 946e2c5be80b2cf93be34e28b3a6bdadc8ca419b
commit 3e048c8846a658098d935df83050170c8a8fb104
commit 1cb62da0802c8f08e26443a5409edba99b8a1f6e
commit 8141f21b941710ecebe49220b69822cab3abd23d
commit 9710b84e2a6afde2db20cd33435038eb75b91200
commit 17277da26623d4aa8bdda628d0024cf2f2e39ae6
commit 836af5be1b6d8e93d736c252e711a20db7dbde9d
commit 4a4c815b08dc774dde67fb90a0286925f98204af
commit e89d2fec4cde967445e16e02e406481bac380cc4
commit ee0a469cf9175aeb6131c0476c4a4a8eb5997dfa
commit 67c4ca9f794951482c54a7006c8b3c367d6c3efc
commit b41a382932263b2951bc9e83a22168d579a94865
commit 847e387e00547b0cc728a5e61f5beb2ff861ed1d
commit 62eefd10ac1c7e976bda47ff311bd87cee40ab8d
commit 62ed6f0f198da04e884062264df308277628004f
commit dd340acd42c24a3f28dd22fae6bf38662334264c
commit 28574b08c70e56d34d6f6379326a860b96749051
commit f59902ffcc43ce7e1db5d0c4dfee37ec2a1bae0c
commit dfe9d047b162f3a79ab63046608c693ee14c5b7a
commit bb670c31e13a402d30afa3d484403196031d0fbd
commit dee44a7cb577f2aba39e1713a51e9faee2f65534
commit fd69ef05029f9beb7b031ef96e7a36970806a670
commit 62341f7bc2ccb7c024eb023a05714d798ba6437d
commit 0964fbd59e7131c1bad4c8549ec13a27104f0b11
commit 0345c8bc22c92f3d5fc0287957a96fd214297aa4
commit e9180253e22596991db426ab5b01111c2a739db4
commit 4f842ba7cdd83cba1d5c0bbd15ed9d14d882cf89
commit e1dbe625d6ac2821eb29e087db46cb539d8079f0
commit 507293b1b207e419fc7ea4ff1d72c2f1db18e33c
commit 64a905203fd0da3e8a3f649593cc48c9fbab25d0
commit 792be2e23ac69821db7860ba4ba94592101f0b07
commit eaf3adb8faab611ba57594fa915893fc93a7788c
commit c9875d0a789060facc274dee0d4eb6500d471772
commit 671af06690e7f79db51b475a35c3b2619f345abc
commit 434967aadbbbe3ad9103cc29e9a327de20fdba01
commit 65f6e9f7e1319119096a6dc93e62894e4375b578
commit dd3e296289346109d41c6317124f51aee0269c25
commit b3a3c9a6b27b68310f1d4d486f47556808c7c855
commit 5aacf8917fde5bc2a640f3cd49130c0e2e85e726
commit 7b2363e06c0ff4b868e7d768d605a9e656ff61f3
commit 51d334d6a49629ea03a2dde562d46846eb7d07a0
commit b8dc6ca028d9a39196a3a066b9ef2d4a5eca475d
commit be64336307a6c3ee71fe1337c1b9f0495aa83c50
commit 78c508a1c162c90c48e12faa62bdab8b90e6f17c
commit 41cb5a5e8480fa41ee452ee60e620a4c1de3c323
commit 8151a6c13111b465dbabe07c19f572f7cbd16fef
commit 329ee7087bc9862977fb6e431b8b0ea5e7e261b0
commit 00f06855f6e68954f67616cd5560fca25c755eba
commit e80f8f491df873ea2e07c941c747831234814612
commit a0fcd3df4591043d447bb08919eed2ce68fbdb5b
commit 130376ab8300ef06231ebac4db147f06d601d53c
commit 86598c3819fdc70e59d28221bfa7bc36e9f5777e
commit 57b09a168ffe88a4c088e8f7ca5de2ffbb8fefa3
commit c0277b9d7c2ee9ee5dbc948548984f0fbb861301
commit 92549780e32718d64a6d08bbbb3c6fffecb541c7
commit ecabb5e6ce54711c28706fc794d77adb3ecd0605
commit 4eb0aab6e4434ada240286d934651dfdb2e08301
commit 9cc033e07d025dee1fac178c20ba96c56f8d9a91
commit dae5d79a3bcc3101e1e02a1c2999ca74d1efde05
commit b62ef7e4021f74bb12445987efd8109ccca289c4
commit e102b5ed6e283a144793cab8fcd95f61d0ddbadb
commit a225800f322a3d6cc8b8b6c7dc4d5281f2f5375b
commit 1da86618bdce301d23e89ecce92161f9d3b3c5e7
commit 0829b5bcdd3ba077c408e71e22ac2bfa85bf2c95
commit 17419a5c8c75e1f9de01b094f763ec1c6ad02979
commit cecab0bb737fb74813733f2472761fc3a93857b1
commit b7b930d104c38a545d862896759863d649be8252
commit 6600c55ba0d46c6f2f74eaa6ddfe2b66cb8df852
commit b635066c2e0fcf74428b0864c249c1dbcaa4b5bc
commit 94a438a7595bb5a7a2efb94de2dc818845254e4f
commit 372f244b01784b5ee233cdfd732b4c1929ddd71e
commit 91dae758bdb854367bf0811d97acb84e791764d9
commit 636cdf6fbddff4780ff4452a82afb099292b88b1
commit e422c0bfd9e47e399e86bcc483f49d8b54064fc2
commit f5510726608fa035bdd2f1fc167cf4a0f7bee22b
commit dc06efbb7934405461d95bba5b702849058424a4
commit 9d09cac47de5358ace64dddd14278fea002e68c3
commit 0f9ff361ad823b887cfb09dd78ecc8f25d32ecfa
commit 219b45d023ed0902b05c5902a4f31c2c38bcf68c
commit 5bdacb0907c1f531995b6ba47b832ac3a0182ae9
commit 4e996697a443a214887ef81b008c344d183b5659
commit a857add73e61277fb8f688234c9d383130313ea7
commit 89121e5d0857bbf41f1987c3c6019f4f318aec4c
commit 2eb20b96d7696dc354e1b38c511418b56291013c
commit 549dd786b61cd3db903f5d94d07fc5a89ccdbeb9
commit a86ee96ce819800a399e0260c5ffad793c9c6ac3
commit fc33077765e9104f84b49d9b9e0702a41d5269d6
commit 17d6abcbf6249b4ef22f41b255de2be2691ec32e
commit 885c31382509d13fd70f6a9c42637eb72056a6ce
commit d79fdaef2b55deea0df3fc6af4d4ac60e81a527c
commit 08b5a4798713f4331317272752b27b1c4f6a246d
commit 7d113cce5fe92c8bf0a2e2f19f71762a845e9d9e
commit cae39e60abb10ba1e8cc095b7d5567edc9005f03
commit 6d470f9b8cd3e88d097b332bab3e7231f2fb3dad
commit d27a14060f8501e556a65b346b2644be0d0a2de8
commit 969135862e731620b9e03bb0c21179ff1cccfd0e
commit 5d45c01dea6f9e0f2dbed3ffee02ac2e80579ad4
commit 0dc4fb69eb14320ea0fcd9657b7748eec201ccaa
commit f7303ab29d08a551975aecb4bc6851ac3445abf4
commit b7f317e62968979343a4677ffd5bd91dd3edc204
commit 769b081c18b916e362a2b623d7c28ce761c3165c
commit 9aec6f76a28cd669aa98403883edda3a7981fef0
commit 5c61f59824b5e46516ea5d0543ad7a8871567416
commit b9396b49879b6e3d9069586e39432b2203de0a7a
commit acc4e41ec41fa28ae9fbdb1a2750525a7a242743
commit 39fa14e5bdd037f50df0af408da7251e400b41fd
commit 21ff3a16e92e2fa4f906a61d148aca1423c58298
commit 1da91ea87aefe2c25b68c9f96947a9271ba6325d
commit db639278e6217173c21bf8bd52eff2e9a0d6919e
commit b8cdc47adf059f60a39555eeba1db92c503a5061
commit 50680d1698f4d4c9651822398805cb943b7c04aa
commit ec0796e6446352e9e4ecb1804bf470d1ca47c5f9
commit d408d6f8cbbb5ad92b383f33d091f027f5740aea
commit 844efaef48e846b5310b0e7af5e7578762eb7e8d
commit 34e087e8920e635c62e2ed6a758b0cd27f836d13
commit 237193e21b29d4aa0617ffeea3d6f49e72999708
commit c3c5b79b6ed1d7ae7356b51f7c17bd88197bf405
commit 7a26f18119d1daf910cca58f875582d50d0e4974
commit db1aeaf2a1374fb05d82a1f8fef5cbb059ce6a01
commit a0634663d09abcda84eae37e9817490628a034c9
commit 17674d6603eab37a4f7b1cf5ba345d5a1e275fb7
commit 8df39400d0db29f84a72c891d1f526e3b61a332a
commit 6c22aadbf6fd0240181eb4897308153c2aabec2a
commit b5757a5be2fac24f5c138e8ddb3b2c7be8ba1cb3
commit 446d0f4849b101bfc35c0d00835c3e3a4804616d
commit b7ecc44a1b0427d8c71fe2e2d46c4a8dd6e6f64d
commit c6c2e8b6a427d4fecc7c36cffccb908185afcab2
commit 0cee47cde41e22712c034ae961076067d4ac13a0
commit 7b3a4e1d559e892ea563f46f45c504a60c82d70f
commit 3834ce360067b4ee98fdef14571923500a0499a4
commit 9a12b1c7a0595736d398b24712dc1ce79072662e
commit 8641b817392bfb12fb1e71ebb68c31783297bfbd
commit 17d30ed33c8a9e7b866dd7c2ceb4a6858cfcaa81
commit 020620424b27bababf7f53d00692ab919c357a3f
commit c6dbab46324b1742b50dc2fb5c1fee2c28129439
commit c30fb344a2f7fb5d553e98577185d9f8147598e2
commit 45a2a4514320f9c835eccb661601357cb1fefd82
commit 947c0808693e267185c5471f87f83146e4300561
commit a46a7bef7d41ee7787c246f47a656fbafe02f122
commit 3df34334147e73b05480db6cf8353a405597d04a
commit c7d4355648ffa02a1551495b05c71ea6c884d29c
commit 2f93ec07ab54cae66155d0a09182843f358da178
commit 434b3554d6435dc4e19083a2214dee40a88e09e1
commit 311f2b587461f86e3c30e7ac28df38be4a862ac7
commit 0fe20258b4989b9112b5e9470df33a0939403fd4
commit 596a4ec72876f1061f0ef4be47076b093f03b4f9
commit 782cef7fc367542ccc851d93edbed166defdfc27
commit c20da89edb69f05ab78fe804899d50be2596b0f0
commit 95d9e0803e51d5a24276b7643b244c7477daf463
commit 4af0d8ebf74ccbb60d33fdd410891283dd6cb109
commit 680458d41aa46a009909482f58358205b5c4b438
commit 8c4f9e466169b3e411947347fef09382c14e5733
commit ce4f9f79ff8cfc78a064c533f0aab563a5613d81
commit 1b686053c06ffb9f4524b288110cf2a831ff7a25
commit 66e2d2d9a59f896def82a1c8684368be45cf4c06
commit 07f4f9c00ec545dfa6251a44a09d2c48a76e7ee5
commit 98df5a7732e3b78bf8824d2938a8865a45cfc113
commit bd15f805cdc503ac229a14f5fe21db12e6e7f84a
commit 9b7e697839c2745c10f63fe5fd54c9e328fa2e3b
commit 70f83e7706e57200edb8ffa36883b2f43d214142
commit a1fc9f584c4aaf8bc1ebfa459fc57a3f26a290d8
commit 3bb41f2e9134906e0814766c07dfbdd9de0bfaf5
commit 027347d17a16562f3be272833243b835c21aa2a5
commit cd9e9e0852d501f169aa3bb34e4b413d2eb48c37
commit cc2991203c9d4e23051dbe5bcb1fc700fea26992
commit 67ea53a4bd9d03a85eecd99875a2a794c886f788
commit 7a1eb66809390d06b744aa13123b925b64b54c4c
commit 24f483ba49c9acc1139a0b4cbfd1b122fbe1ed7f
commit 5b7813bc6218100d7bbc6d3a1b582bfd64034bf4
commit d6ed53712f583423db61fbb802606759e023bf7b
commit 12dbb3ed212fc7655fce421542a5add637f8af7a
commit 5ac2557d75f94777076885b5119d3b6755e6761d
commit 17b6527dcfb3249401e037734ed3fd0f4752572f
commit be280fddfd645ea0ce4c7a26692c3d1115447e32
commit 1fd2cf090096af8a25bf85564341cfc21cec659d
commit 8f9b23abbae5ffcd64856facd26a86b67195bc2f
commit 267c5876c977d5f2d5a89f377d74adf42b5c38a5
commit bbec7cea6fa4a0463d4766ed0e6bb347773d3949
commit ef6c2cb349c708676b7820c36a5beb75868ad544
commit 61cffacb3a1c590b15c0e9ff987de02d293e0dd8
commit 42b3a6f12aa56dcf789464d29fdf11f33bf0e793
commit aa02486fb18cecbaca0c4fd393d1a03f1d4c3f9a
commit 35c7152202e111968b10140383f49da9159d2704
commit f83cec3b3a7c968bbceb810b7acd1baf3fe8cd87
commit e69c2dd7534f3fcabf7bb801db2a7ac71e7e5da6
commit 9c081c11c62112f1c30ff2426f755279a43fa1a1
commit a85c3db6b3b088f63b5b8c4fd4352f56f0e4ce3d
commit 9e823f307074c0f82b5f6044943b0086e3079bed
commit b2dee0837a4be63e8d3e00550a9f057644f962c4
commit aa539da8aff07ab08def6490e8c9b441439e70ba
commit ea5d6db17a8e3635ad91e8c53faa1fdc9570fbbb
commit 98cae695a8ae0e4291b1fa7feef9b54fabefe885
commit f7fb9d677faf0460131bc2af15afd766d48a1f47
commit a7f670d5d8e77b092404ca8a35bb0f8f89ed3117
commit 6a28a072d90e4543b5e07a904e3a6afad0117e26
commit 1091796fb1d9d6888656f2416ad5c99cfc62a4bf
commit b232c4a63a176ed837e3c6bb4a3ac79a1ca5ef1d
commit 98aded657f506cd5d6d459d68ab4996d9dc0938c
commit 1d734a3e5d6bb266f52eaf2b1400c5d3f1875a54
commit 4b498d19610c6acd36a8ddf622afdefe4ab093fe
commit 5ddb0a8aa8e4754a8fb77e284e0d6f46c2350f88
commit b080a60731ad909eae4463684acc23d322e93579
commit 52e371914ed37f531a8d8c3b4cf1a1af2753eb6d
commit a884dde8d9b6a4a817cc39663db824e5602a8001
commit 1eda95cba9df35f1fb0fb4b89511beb6603c614e
commit fde7679a2b374c8c0932f5cc48438a312f3f442c
commit 29323882aa48fc9f273db5820babf32c979359a9
commit dfa5543193f303a7270ec7c725e656970faf7d57
commit 202b85da0a2fb6f034f0290af841e0f29352af9f
commit ab0d6ef864c5fa820e894ee1a07f861e63851664
commit f0ffa657e9f3913c7921cbd4d876343401f15f52
commit 4551d60299b5ddc2655b6b365a4b92634e14e04f
commit a98a1a3c448820dfb3974839e1ccedf80b6fcacd
commit dd925902634def895690426bf10e0a8b3e56f56d
commit c7085d08c7e53d9aef0cdd4b20798356f6f5d469
commit 23ab1cb6591dba7c97b65eb407cd71147bd878b8
commit b0ee81dac3205db1e01019629c83595e9433d96b
commit 8d3a2d3d766a823c7510cdc17e6ff7c042c63b61
commit 3396900aa273903639a1792afa4d23dc09bec291
commit a809b92ee0f84c3f655b16a8b4d04bc3665d954a
commit ddda6542c85304eff31fe433cc0fc2c0d03c8f3d
commit b3a901841ed1edd65b2f4cb9dd890ea1e2fc7551
commit f366d8804fc58f87b682bb02e8bf970b08e5df7d
commit 21d6376865219277ca91bf95f9e54494c1ea7ae1
commit 7f75eb222d5c8c4b166ff99a38c85a3de97e0647
commit 649ae0e0d55f6d432ea73298929560ecdfaabd05
commit 34aa0a87f83b5322bd8541cd9534179c90c580d6
commit cb2f92569a2b7809a0569b380b9a6f2afa368cb2
commit 9aec90f9e545fba64ca47c18c37c588fa0d71b22
commit 1b9e8095fa3ac29e3a00ba1326976b479fd809e0
commit c6cbfc18138a22cfbffb208be92b18a531233528
commit d0fc54a201d673013b031ebce32e5d8a7e3bfb70
commit 6276706f33cc38ec59ebf03b680240ff74740c8a
commit 7d085bb17e3cab501218a7a4604aff6c4a8b9585
commit fbc64aafc99baabe4d4e4d5a58d6113aad7909c7
commit f76506358078809461866086c5e224d949002016
commit 2e5d47fe7839298fa096970e184aac9bf82c3bd3
commit 5a891a0e69f134f53cc91b409f38e5ea1cafaf0a
commit db3461a7743817ad7c73553902231b096616813a
commit ed7171ff9fabc49ae6ed42fbd082a576473836fc
commit 437ad4534a15ccf538ddb440cb29d3f445251605
commit 8a0f58ec4728ec04c654645bf8ed4070821ebbf3
commit fc7c7498db3da52efe874029a9c2ccc0ad2646ee
commit f9e491c8633277d5398f384cf1fd1a477e04363f
commit 37ee1456239cc5680f672f37417e52db2349965b
commit 406792dc2a5c82e2f312e10c3c2c887de6ef80a4
commit 57a372f67688dc7aee23a2a00bcaf6188f592934
commit 15789fa0f0e29cf802f30d0e308da9c6b18c116a
commit fb0a5834a338329bc665c7ce2b89f3e376557565
commit 5fb4d2a77113d3ebaa5c9dcdbef8b7bdfdeeffb2
commit b5e1a3874fe3cde73a4b02870bf3e8fa43777c5c
commit fdbd69486b468e4963b4ef9f76901d3788252dd5
commit 5d0112f77793c0351faee6c723a6fb9191c12be6
commit 6f38589e170f7649bb4b5efbff6b681c31433440
commit 4c953e53cc34f8601b7b7c6286c65322452d35fe
commit 186020c16650d6f7a05774ef318ae9056aae4f21
commit 2e9bbdd7b7cb5f364a917e7c6eff2a2c36f11895
commit 4dc4422f11b041a9cb7a86f2f9bc310e48620fa2
commit 31ef969301e58daaaed1728690e16192b77b9028
commit c4f503551fd65e50e657219c9bfc2987c51805ca
commit 27ef61f9617478c432bc477d4eed8963deb89f24
commit a48f31fb78265d992c75d45bea215998367d4956
commit d082e5cde489caf7b29e966a9dbbc3fb43fb9164
commit 3ec2ad7c34c412bd9264cd1ff235d0812be90e82
commit 0f2c243dbfa008cec2dad03ea074156b6b176a03
commit 89ec85d16eb8110d88c273d1d34f1fe5a70ba8cc
commit 3fbaf475a5b8361ebee7da18964db809e37518b7
commit 20588d5afce3992ff4fc9b61085e3e1affbac620
commit 27a74c125d029d0606b81ef865bb68dd975ca2f7
commit ab10f7748789fa9247949b530d8ee7d56eafe9a3
commit 6d88c0f94ac07ffc9f08e459cca036f4af08617d
commit f685b38455b0c990a0f018a17b238d8ffb5acccc
commit 4af8071b654dbd9b8bd003ab8e49eb16b4cb9fcd
commit d479158f6502a3698b91829fa03bd3f2ea38efe7
commit b5be054c585110b2c5c1b180136800e8c41c7bb4
commit 76acba7b7f12517990f326fabfecb6f55e334233
commit 478efcb90b074f0fdd18e62b30ce09140bd69022
commit 5b7a59de4845460a313d93d4839258bfb982357c
commit d4f1fde734eb73767015272dd2e8af1440b30a9b
commit 32aada4d0a35ee613ffed23090bc23e1b40da419
commit f3c958ab857927e1ef2cc6806fcb0eb3f36c923a
commit 8962915044364bb7c36b3018f74371a798aee46d
commit 9d87dac3f9adbe30d545c577aab483dfce71143d
commit 46553db49cf7b7dce95879ee0725f7d95de3c184
commit dc57edda816df4fb43bfc2809675e91d15994195
commit 3a50a51d04d2ca5066949073274e70191104f8e5
commit 439c3b124e9ee704766040d5182ccdaeb4d45499
commit 837cc7f1bf2bbebb05781efb6bc1b10d5c2e9308
commit ef9f3b5fd9d2594766c60b1e12b0e72e4918512c
commit 2239aaa204f1c5002018a02903df7e45a0e0e503
commit b910cacb4e70066238feafaf3f2430ef2c8c3b12
commit 0eea81ee2e12900bd5276558434b675b52ab2d5d
commit bc62abe1b92db4e027a92a6799f2193bb93970ea
commit 1a2103d68547407a098c237d7cade79b4ad2b88f
commit 2dc3851ef7d9c5439ea8e9623fc36878f3b40649
commit f49280ffd254e718ee01ef515fe91854fdf005cf
commit aec773a1fb0253494b85b073f46a0ba1d798b726
commit ee7a846ea27bcbef5182d15923339a7bf182ec65
commit 96595204195d7e13736a84295e217316610d4cdb
commit 19cff16559a4f2d763faf4f8392bf86d3a21b93c
commit 0523374e303051c94457df9170f12a752d8b09cf
commit 852856e3b6f679c694dd5ec41e5a3c11aa46640b
commit f784750c670f7c5ac572590ddad77a89b4c997bf
commit 3dc6da76ae55d667fca2c9f9497e8ea1a27497b1
commit 7970cb36966c9b9183255dc097ae0446300eebcf
commit 53fdfa19e6a9220a14c0bb21273880774ea70dbd
commit 7f0d7bee2079fc899c8280e177b0c0feb8b9debe
commit 0d92cd8935a3fffbbfee0fd59cdc89ac5167b14a
commit 2750ff97ee385b85195c5579ee911a551fbb0dd9
commit 770bd1d341130ff38feda169177159cd78389cfc
commit d16ef1a18e39a5086a419d8b3c71adb30273881a
commit 226d92e49a7e7a7f5a3a37a34df7c319b72009fc
commit 4099cfda9dd856222d7cab6970a65896375616d5
commit 6b77dab5da721f2fa9d3c3611e1cbaead8030706
commit 7116c35aacedc38be6d15bd21b2fc936eed0008b
commit 492be2a070f023c66aaef6ebd664567fda28c2a6
commit cb8f81c1753187995b7a43e79c12959f14eb32d3
commit fe828fbd87786238b30f44cafd698d975d956c97
commit 737ad3776343f6fcffee9d0d849dcd6f6b25f05a
commit 11c742bb5a26d4adc873f6e6e2b69a59e1eae285
commit 8a879141dcd15d2db876ce3adf88b9b01650b7fa
commit 6841a26e2c6715dc52a1cdd888e958dd2a92a5bc
commit decbfaf06db05fa1f9b33149ebb3c145b44e878f
commit 23683061805be368c8d1c7e7ff52abc470cac275
commit b9d228a5b2ebcb1f1f63170f5b20bc2f9d276168
commit 00b8a47d8ebe0419e649dc81b96033f6db6a4746
commit a055c91ac6ea493c2508401537e8732dd2a7bbf8
commit 6a60273a0e8274820210abcfe7ec0d5f1f38f458
commit f7c4a15225faeffe1e9f9a752097e7d85603ffef
commit 91a759d402b5c17263f82097c647e784f217e2d4
commit 97d1f449c359207b2fb5bc62eaefb7e21ad619ae
commit 64ddf5123eff2edf47202e08744c3c14a9d28f59
commit e139c0eb22ce5b2ab6a2056c1ff495f3a38322d7
commit b61c4bc674c6032827f2682a0c72ff577c36143f
commit 1453323eac4f13817a07f40e78e76dfc635aab34
commit 7586fc52b14e0b8edd0d1f8a434e0de2078b7b2b
commit 3338e4f90c143cf32f77d64f464cb7f2c2d24700
commit df2dbc925fad3274b952b865f85d26d1e056c1cc
commit 60db6f540af9f93144d5039140aa2ed17171d168
commit 051c86afc342aed1f84d66ff5d09dc9e1c1685a1
commit 04b5b362bc2a36f1dfe5cad52c83b1ea9d25b87c
commit dba1a6cfc311833e10df978f07147ea93b7045fa
commit e189be9b2e3820c88164d95090f1fd6343cd77fc
commit d361ad5d2fc0e4d59d5d538092c9b37889756642
commit 22ff907d4f0457b2800f4c6d4f40d4d4d31f7de1
commit c2e70d307f4491ff970208a41cce84c95771f340
commit d4c38154951b2bff6bfa4d5eb56df0bd08703cf9
commit 335288315af18c0def7f47a37fe7eaa782c98f6d
commit b1f49ff9cbe14264c7eb33462fb700c49c7d91a8
commit 234eebe16138f94de3046f60c52763dc17fe5fed
commit afefd6f245024684fff75100052065d6a9e8f75f
commit b710dbe55dee946d82bc4815c40373cf8a391581
commit f846250b8a20e6c1225c64ce87a90d4f29cbf351
commit 87758a0ef12cfebb9fab8ef1d0e234dd7b3f4579
commit ccf8ef6b7506cc43e7fd504a85465c1c0786a107
commit 9a16042f02cd08bbd0a5a2d8e9c95347717165a3
commit eb067d65c33eecd4b81771384183ad42eec259bf
commit 18ac82c26da45d033df7eb993139da83dd53ee68
commit 9de60462cdba60f575f97ca2655533b35273c715
commit 8783a18409b48455b3a63f0cd930c7c88beee93d
commit 7c9cb6d1bf122fdac6a7d51f7dd8cc2d8c94b452
commit 4e9e50b6aeda3e3ce727453c5455cf08c68dac8b
commit 272e6aab14bbf98d7a06b2b1cd6308a02d4a10a1
commit f327189389785b26e49904a7d3ba0c96506a4586
commit ec9e2e7acc6dabb8f00c2c60785931310caaa883
commit 2344413205521775d3b1d418e5659e3ae3bc263f
commit 20b5a8f9f4670a8503aa9fa95ca632e77c6bf55d
commit d07722e1fc749fbd78992650b6d00c9a2619be70
commit e389eefe34cebc6219dbe76a923b342b2f31e3ba
commit bf2bc61638033d118c9ef4ab1204295ba6694401
commit 186fb12e7a7b038c2710ceb2fb74068f1b5d55a4
commit 88c511dea151b931ba4873119b1b3555aac0ce53
commit a9556637a23311dea96f27fa3c3e5bfba0b38ae4
commit f15e5587448989a55cf8b4feaad0df72ca3aa6a0
commit a8efd8ce280996fe29f2564f705e96e18da3fa62
commit 609d8b1c422cd8d1f93bf526fb236f2e07687e7c
commit 255fc1703e42321b5afdedc8259ad03c7cc533ec
commit 32a42c93b74c8ca6d0915ea3eba21bceff53042f
commit 77cc3f6c58b1b28cee73904946c46a1415187d04
commit 4cce34b3835b6f7dc52ee2da95c96b6364bb72e5
commit 5151fa35ae5979821d091b80096b4c790b187bac
commit fca0abb23447c37a6bdbc76798c24623a9b69a11
commit 40520283e0fd11237ed9dfc0991503b3403d5fa4
commit 321d6b4b9cbe3dd0bc99937d5e5b4d730b5b5798
commit f6d9f39f8d9167627bc0f9e3e12ee0100c1c1919
commit 80431c017f745a818ea45ae6a8373b737f73b1a8
commit f89001ea41771fe94005920c363dee43e8078bec
commit 0e35457eb4b75f2bc9eca58a46d12e200e15e47f
commit 770a961d581c577b579d8d38414b2bfc0b4766c2
commit bbad0090b9f4735e35e9881278b7a353f71b43d0
commit 9e7a74a12101bb07ccc22fb180c5e44051c5a407
commit 44a37ba12857c78389cda176c093967406250cfe
commit d20c2f8464280550aeabd2766728590cf0ca8a4d
commit 2a2391f857cdc5cf16f8df030944cef8d3d2bc30
commit 5e9c0d1c5ea355679f5b2a57b0c1b5932d78719d
commit 11df68c265460d4dff5d19a1313f0fff69470f98
commit 453afb1a439994deeacb8d9ecbb48c1f2348ea0a
commit fa509a33e34849cce6c17f969991dc87a864fbde
commit 7bb98ca6542e19a9da7cc322114bb4867acd9614
commit 85878978fcd2812eaca309ead436bcd38777f6f7
commit c8fc8346bdd097d624771e606aef93644c072ef2
commit 5a48d67ac336436ed4a79c1c9e036a409b502329
commit 4446387572fb7952a387b8e45e8a96b4f08a2a53
commit dfc88eac97e2177844e5dfa877f2ff60c73bf507
commit e0446e122eae43c173d0c99375e1b2cc8da009a7
commit 168448111279e639e3296ee5c19e0cd96756422e
commit 69f0925c67c21c1e3ccda152d2b6ce21c363e563
commit 244fe1666364865154930f34d8df5489df1922b6
commit df99acc7ba1be9f111debdb75e00539fed8ad21a
commit 6dbd43dcedf3b58a18eb3518e5c19e38a97aa68a
commit 6062ea9398d3ec09c521774f9d81f604d1a85fbd
commit 0567f18e0757a260031e59487fe01f402c16c0de
commit 8b5ccc9743ab026b12075eb5e3883cc9e42bc683
commit 1144e0dff5e68907cb8d3e2d64d1c00e2a96d1b2
commit 136367290ea5d7b5d05696189e9fd6162b9d9742
commit 15ca09499bc669b600dcdaf01fc0bf8c55e15b35
commit 34e804220f693fe6bb1c4e50f27dd855e9313f0c
commit 919bb54e989c1edef87e9797be125c94c450fc65
commit dd6ded6e87a97a32e06c10b7f6639eebb779257d
commit 58cfea648ff3b3bd283c03f094f24d379fe6fa82
commit aa451ae76fda24f919174a17df31c290f91a953c
commit 852791985af63bcfd66d7f6ec160cc5f9fcb020a
commit ab0b0eb5c85c5961913bdb9b8011cc8f5c14978a
commit 065ca63e161a1ed7e619ef7dea0c7c6435ee2f8d
commit 1c8f80c2aadf76daff01ab133fb11136e7248746
commit 6133cf70725049344a679f85df27d146a2d995ea
commit 4b570ac2eb54f66ff64f2864be6303b8d67cc7f9
commit db6341a9168d2a24ded526277eeab29724d76e9d
commit e28604d8337eac97fa956d6682b6312741ce85a1
commit 01bfabc2d1d8aaffe5268f8df0843a6d916dcbaa
commit 75f0efbc4b3b088cca20864d055b3854a51b5af0
commit 8f4eca6ac52a72181b4f054d4ef6289a5d8cfa5d
commit b05d6476ae2dde8eb447f907ab689083499edeaa
commit 40318a2406bd426c6f4591269669c04e8eda571d
commit 988bfa0bc67d7220ff8d9e2ba3a425727aa98af3
commit 0e405395e0b162075001b9c027443dd10b723a03
commit 570867ef90550b01f0ca0f919dba308c3f2fb605
commit 2845f512232de9e436b9e3b5529e906e62414013
commit 4416377ae1fdc41a90b665943152ccd7ff61d3c5
commit 73dd0ad9e5dad53766ea3e631303430116f834b3
commit 875ff9a7ee8824200885384effa7743892a34ed6
commit 010cc730ace807c6d267481b5fb6ff99acc35c46
commit 6ef29715ac06fad7b3e43086cb4df97952c3a4de
commit 3376f922bfe070eff762164b3fc66981e3079417
commit cb5164ac43d0fc37ac6b45cabbc4d244068289ef
commit 537ef0f8889761ffe3a6cb4a7bda4de47fe2d69b
commit e45b6716de4bf06b628a9f3559f7fc8dd5e94d58
commit 58a261bfc96763a851cb48b203ed57da37e157b8
commit 25ebe10e3f4c897a2d348a9d4b674ee9ea28225c
commit 5b993d00d7f0c970a5e5d34c1031069fb13b6986
commit b5de6a5ced074910b8fe57d3b0ab7f8843f85a3a
commit a323782567812ee925e9b7926445532c7afe331b
commit 6eb2aad402cc94ab4dd3780d8fd94c5c9bb7ed4a
commit 501d94389310bb282915e730386d1150b13ae321
commit a64e7e5b05e014dad9ae5858c9644d61400ec6ef
commit 122824165471ea492d8b07d15384345940aababb
commit 66a0f6b9f5fc205272035b6ffa4830be51e3f787
commit 6628851159c77cf5666160e0272d46acc0772a6c
commit 3126d5fff54368288e7fe1c0fd4ecb36b868e5aa
commit a4dbe45c4c14edc316ae94b9af86a28f8c5d8123
commit ff9c674d1127e768050fe418470e74586985c87b
commit e24b0ef20a20cd26a770c66bf87d911838ea00d4
commit 65112db0c21022cb1caed5a03c6392eaaf984c14
commit 4836c6cc01a16f1ac2b436550299474ad7183c46
commit 6729c73103bd7a0e60b0c980b51b5434010b4502
commit 1b5dfd1881dbe303536d4167500b94549ff2f6a7
commit b330f148017251810fc1f0c297f51b3039b796e0
commit 594cf78dc36f31c0c7e0de4567e644f406d46bae
commit 51394119f640423858a2f04076d6f1c3e83fa715
commit 67733d7a71503fd3e32eeada371f8aa2516c5c95
commit cf4d37b8157ca085c17fdc1faad737465ff311b9
commit 22bc22ccf95bfa6eb6288ba4bc33d7fc0078381e
commit 5fbca8b48b3050ae7fb611a8b09af60012ed6de1
commit 45c4d994b82b08f0ce5eb50f8da29379c92a391e
commit 071d583e01c88272f6ff216d4f867f8f35e94d7d
commit 037f93434ce9aea3dc19ba2d97e888a12e538f7b
commit 54f90b03335916e21c417a31d0926841f7d97c56
commit 9c57bc08652a7c8e0e355c52c023fddc090fe9bb
commit 002353a537a29b9be5bde3c1d9964628f0d20d45
commit 11b7309dbe9fa98d9b8d18cd51db4f385c37ae30
commit 19f01d4bbe9daf71901b200ab5c52591946b022a
commit 8a04e342684a75ad1455fc3f23fab8e67c1aa9fc
commit f9ae00b1cfb37ccf57017bf9cd82712ee0a5316b
commit 3f53d7e442197b7e7d56b470b02dfd37a8bc5c46
commit 4461e9e5c374f8c11fee8e4a0e3290b072cfd538
commit e55ef65510a401862b902dc979441ea10ae25c61
commit 01cc7b2e8a59fcae0c4493720561e5b33a195fe7
commit 014125c64d09e58e90dde49fbb57d802a13e2559
commit 04cf420bbc32a599aa2481725f708435ea19bf3d
commit bbb05f8a9cd87f5046d05a0c596fddfb714ee457
commit b932d5ad9257f262a0bfd1bd7146120b0adc11a7
commit b86a6a57b8ad1699ba8b1c270a79678383baf632
commit a08d75927f99e57c793f3a5d11260c22893fc0e9
commit 3d054c40766024d9d8fb051d017ceacf2b795f1c
commit 5d666496c24129edeb2bcb500498b87cc64e7f07
commit f0b7dcf25834afd17df316367dfe5d4c890c713c
commit 949237a34dba3f0218857f5afa0dde2076dd8c82
commit 6dcc304f85898b099b35c63748c5e11ba56d0c8a
commit 87d23164d89c3898a0acb4ec0b431e787c27a91e
commit 6692982582a54e7ecc80d7b0dae5db6cd47e2567
commit e565b6b0b5eee112db803bd955fb0387ce952d54
commit 4437936c6b696b98f3fe1d8679a2788c41b4df77
commit 9793a4a6e5eb8764c7410c361984ed01722bab9f
commit 6efc0ab3b05de0d7bab8ec0597214e4788251071
commit b4148dc2fa062cdb94b5165d39827bcb1a3daa28
commit 1b0ce903fe747d72e9eab86a06c79fb2c7ba2bab
commit 469a486541b6eb0d695a5558e68851fef35c16f7
commit 38d6f7e27d318cf41c2376980a105d02ac6e8b16
commit 3715112c1b35036039e8c4f75868a0b56a71a51d
commit ff95eabe57368d641589441e8f638b4d59f79a82
commit e45a3933bb3ebd9a2ac95b6b60da029ee3a9f4e7
commit c50fe289ed7207f71df3b5f1720512a9620e84fb
commit 97c6efb3649724e6163774f0e7405c5ca8b1097a
commit c66f4711f79c937832b6c0e0b1805061667d99ea
commit 727eb1e3f014e66dcdec53afc6f5bfe0d8c0871d
commit 7546a8201ba288530ed1bbf2a8bdcce5e034a234
commit 789e51597d33ec0053b029127d797d86c0d857eb
commit 379cad69bdfe522e840ed5f5c01ac8769006d53e
commit aec8485f226c36eb4eea1d489772cd6f2c40144d
commit bad928d2cae5d4d5ec1474ae7428a797fb34c111
commit c72084163cd22ebf59d936669ec25b1fc2b7494c
commit 3adcf970dc7ec0469ec3116a5a8be9161d17a335
commit aeb4ae66cb50faddf60be9297d0d5d392aacdd3e
commit a7f657097e96d8fa745c74bb1a239ebd5a8c971c
commit 87d8ecf015444c51ea9d9154f633f98b7748a724
commit 33929707b808ba7839c40c15d3e68cbc51070b31
commit 4548f10bf4c67b569b7c9fbc6746340a558faab9
commit b71ccff68ef1a5bd1c02d0fca01ddb3d9088329a
commit 175d648be98bae22eb22444377dd9a0c497c9d46
commit e0cb0c785250d0565c19ba17fc95bd7ab97670ba
commit 076403a69837c1f8454ceced3ed6f0465835f4d1
commit bfbdf72d6c145e008805f0745ff79f9b8e301e0e
commit 33eca84db6e31091cef63584158ab64704f78462
commit 84addde447fd9d713e101437db0d4924855eff4f
commit 81a1c37c8b52eff636e77a794d0f0620c3a40af0
commit 21bb04152a18ac2314ef4186b6dcd46f1b847354
commit 70a65a5de23337c0c0251c482520224ac80bdeb5
commit eb4556f25fb4cb3a005a93dcc6dcc4b0c024f5f7
commit a69dcaf9310ab09ed97711e0fee08e59218ed8a6
commit 8d5ac8efb6d94efda53f604fd9c072b4754a3d85
commit 2039809783d630c1022bb3debe648abced7861c4
commit 06358ccecd75bfcd988f347f79592e23159aaaa2
commit 51e039542b87cb649d50ea3b5cf90847be32a30b
commit 44378f6ef2efee3ccfa87de5860662f2356bdde8
commit 07226d09a200b92797afabd3a5131a0b504344c1
commit b5d4657e192ba7a3f21fc397cf5d169982b4ec0c
commit b2fcb48214980adf6687dda84fa33f01e9a47e28
commit a74549dd55d21612171334fb70e45241d0ce0487
commit 2160f6f6e3cf6893a83357c3b82ff8589bdc0f08
commit 7293859c51e1d7f923073aa46e2072333b3e143d
commit f7c2ea682d8ba17bfd37abd1e734348e0cf46c99
commit 5ee2d63ca1201ed23c6595cb2fc927222215bce3
commit 7745a1dee0a687044888179e6e7fcd6d704992a9
commit a9b67c036c7f5d187fb88eb74fe04dff1098700f
commit 7c1a2d8aba6cadde0cc542b2d805edc0be667e79
commit 6122f5c72e38a88eda13c7168e2ebbd3bd80b681
commit c67db6a6a6be4bb1db1b0fd5b24040d68e461cb1
commit af76ca8e180f38a7d874c18cf810707762766627
commit 30e8f4c2bd532c44af0e0fad9c04e7d2970b91a6
commit 28d43d0895896f84c038d906d244e0a95eb243ec
commit 1e487c9173ca12ae372f71a5f5c0eb57ce0ab108
commit 1125f95cd2455b51ad1c16d7f96ae39117083d20
commit 96316211eb5c4b58f34099e9e6f71fdfad7af01a
commit 52491d97aadcde543986d596ed55f70bf2142851
commit 6c0a7c3c693ac84f8b50269a9088af8f37446863
commit 02a416afbe127b1c9ce85ffa340c0a32dbc53184
commit 70c33a2710cd08a4be974a1c7f9cdb5601a8806f
commit 4f7d8da5e349c1126cdfcdd2ceede00382ad2ceb
commit 8bdb468dd7a5d17f8556afdd4c8d046939ff965f
commit 6d0ebb3904853d18eeec7af5e8b4ca351b6f9025
commit 641bb4394f405cba498b100b44541ffc0aed5be1
commit 16ba2b28df3a83443fc6b4e5491189d2e5caca64
commit 65fe9617a1256f0a36696d48f7c63a8d3ec290bc
commit d69300abc2dec930fd280a013984150ae7c6a386
commit 2bd87f0fc24ae29ead9808d341497f465b339c0a
commit c5f728de696caa35481fd84202dfbc9fecc18e0b
commit cad08fa7760ace5e01b24c6f9e1f918fe72324bf
commit 3034cc8107b8d0c7d1b56584394e215dab57f8a3
commit 20f61c1ead989e5d16f35bd0a546c6233b703b69
commit d7eafed3223af19add14b67a390ec2b983d890e0
commit 2bb3fc536d692d43cd55396ecff73c7691eeae85
commit ddc94d0b17e8ea8179ecbbefacac3fba0fb77265
commit bf758226c7e6927f1c2c34fd6eb2cb580b77f543
commit 590b9d576caec6b4c46bba49ed36223a399c3fc5
commit ccbfd2df3018e2694f750abe5e93b647a4eef5b1
commit 83e5af5997554115e198c2e9e97564702eac04a6
commit 6a2161a155f92985b21e38a9e8b9217f620d606f
commit 14ee9fa87d8c96b23d77397b684fb431c5bc2677
commit 3eac4684ecb5ea696bd283bd7f35e4829973f4f8
commit b1aa0491fad27f030c94ed42c873c3f46f5e7364
commit 8906064715c16571e691f67c2746ed1bf1bda6b9
commit 390fa93e6efef330baa2785edc2a484f7ce0b292
commit ad17b124c3a08241da36eb94a6f076446432743b
commit 6f4835f9df2df7eee0af74c850d0a06166c199eb
commit c66db9e9a025006d729c87143c3f43b5873b4a1f
commit 988fe2862635c1b1b40e41c85c24db44ab337c13
commit 0ba3cb8e7cf08223a9246ded3c1bee25a74d1f7f
commit b3e9bfd86658b562a33b1ee8563d59a593327aaf
commit c24538c4aa352b68bd5c429b7fd3ccf4d4407143
commit 8a060e9c17d0fd7a182e335a52dcb5fe327e3d86
commit 6e8410944767381524544390ce030c86f07399da
commit efaf15752d113e81a5e9f25f57dc203f7c3007ab
commit fc5da5c00c0a4880220f6f539293e49c766fb93d
commit 29d3d6af43135de7bec677f334292ca8dab53d67
commit 9888773753333ee7bed1697abd6fd9c84239cc4a
commit f2ea269bd2a55c4a28a9b825424b059a20259793
commit 072b4414784524b6debda1b3b2ffbf10d66095e9
commit 7d8e9e65f23040b2f9e9670bc971d3ec8fa69d47
commit a10c93931b61b22ff6601f74192151d548b0b14b
commit 1741281a157fcfacf46dbb6ce39c13bf2699d371
commit 2f3806f781421ce6dfa60471eb2116627c0eb893
commit 097af47d3cfb99ee02afbdd7e0d9596eb012c65a
commit d1f214432110748603dd310fbe6099df875e6f04
commit 2480599890296b386839bc53367c10f19d97716d
commit 8fe4fde381a103114903f823c6d18457b4b891e4
commit 8b2429a13feaee01d62bc248417343586f6fa489
commit 01b4ae38e5dc6798c6cd477be9c363c5ae45fa7f
commit 178ad0e280c088f5abfa61793cb992fa120d1830
commit 4d5ddfa4b1b2bf1e936b8d38735910480f9545ed
commit 01163079e136e6d6ce4474b964b8a7ec954cac81
commit 1a1995b1dc948d471854360ec0fd3306f54dfbae
commit bcee4c3f89879e15ef57f3217ded97f00b1334d3
commit 01d05521f7e2523045d3ff7b857dd68db276d31d
commit f8eee864ba5cbe1447a68949883f69228e53b138
commit 21818f39beda2e843199e5d8d9e3f9e43c8080a3
commit 3f2d35c325534c1b7ac5072173f0dc7ca969dec2
commit ead60e9c4e29c8574cae1be4fe3af1d9a978fb0f
commit a1498ab229ca16dfc35331dfb309f8e28b84bb5d
commit da6ec743397702e0b551bcacfeaa48829d303a29
commit b3b91369908ac63be6f64905448b8ba5cd151875
commit fcba2ed66b39252210f4e739722ebcc5398c2197
commit 9f6b47907e2d01bfa90c3003e42b6dfeefd8d03a
commit 059f6fc89968f4f4527f1b706de8017d368ad9dd
commit 1138137c2c48f036b87e80cf3905c1acbff6b0de
commit b34b43f9cb45ac15b0e48b5570af9e074959dc68
commit a954e0a26146c465934f4944d49cc03324747917
commit f70e43763e6a550f5b50ba4f6a0d6aef5121ecba
commit 402bd11a5394636b2bc9712a58b97bc3cbca69df
commit 631ef2e6adb0aec8d639dbea17c5ed08c8364df7
commit 8a37cd4dc50e8f29168dd5bc766ba40a1968724a
commit 41a46296214fa07cf5140c9ac9254e095bdcb960
commit 7134cc23fe73f4ddeeaaab9284399cebfd826c51
commit 963ed4efe0c6416f5a2f61e107ee3a27f0bb757d
commit bc947d9a8c3ebd207e52c0e35cfc88f3e1abe54f
commit 8da19441d0a02b53e362df81843bb20db3a8006a
commit 34bb7b813ab398106f700b0a6b218509bb0b904c
commit 7a199557643e993d4e7357860624b8aa5d8f4340
commit 596a7f1084e49cc65072c458c348861e9b9ceab9
commit eb7205b7cbff5f9ddafedf82b62590aae0a72dc0
commit 4da5a95bf125fd682249f60e296455c6413b4e10
commit 4453808d9eab0461dea338e89372ffc4a3c50acc
commit 4c4e9cb58dd75c87300ca63307ef7d4f9656eda0
commit 7b17e8f3a074ff4558527f6c595f49444a2c6fa0
commit 0126c0ae11e8b52ecfde9d1b174ee2f32d6c3a5d
commit 2c7795e245d993bcba2f716a8c93a5891ef910c9
commit 6fbbb660b1d423a777d7567b7475a6a01aa7fd91
commit 760e3c8b3288279841aa8a71e6d65c67a3934d01
commit a3cc326a43bdc48fbdf53443e1027a03e309b643
commit 0607a50c004798a96e62c089a4c34c220179dcb5
commit 4481df364d2038eb4a8f5150367b47955940f027
commit 5359d5bc975466e8791d7f870ea4a96f1b0973bf
commit f5a972dfe3e993f09cf12bd36389a942ecd23350
commit 2578487ebe6ca34fe9cd950bf68e8158639ddb1b
commit 559a285816af5b72284a6ed65eb82a68ee497d60
commit e146a7ab218626827b7c06e189e69cd2abcd1d37
commit e8397d327e7b0d6132197c9d8fd7977f84f3dbd9
commit 01be2b62c0f3c66832472ed3e48e61d631094606
commit 101025e94b537e8b5426c73a985b26fc95c199cb
commit 7eafe7a730bad6f0efb62b2d260f1ae3f2d09b95
commit 663b0f1e141dc60ce6c09ae6afc5f213b22d13ca
commit 27f9dcb9cc067d40077e116ac062e185ccd7a0d8
commit 7ccde2e6c0a5e50e11b74353b456bfe602efe6aa
commit 0df8ef6e1b5dc7a6edc6242a95f47a257ffecff0
commit af04e65f6b66339080fba0d5f44a759647371652
commit bd7c8ff9fef4b21a97f9b30a7364845ee6eaaf23
commit 2ef8d63da81d9e89cbc1eb4867d638f88bf5dc78
commit 2f7eedca6cecbfad52d5b52c1550066d9252c947
commit 578aab4ecc73476393389440724b7a391cc0cea9
commit aa47fe8d3595365a935921a90d00bc33ee374728
commit 25d48f2eb0af1f0e6f09f54a1a1716f48c0722c9
commit fedf6db3ea9dc5eda0b78cfbbb8f7a88b97e5b24
commit 88dcad2d07c8d82e6a097c8e74239eb67333bcf7
commit b8faa981a7e62848ca4ba1c77282dfdc71d0edf5
commit b2d4da31a1f40b05a61076efd4c79b88439003b7
commit 6c6ca71bc1653d00623702ae031d0f9bde06a6fc
commit a4500b82bc85f7a15cff0729315c96015849e9e8
commit 4c3140fea6277e1478ba206e8f45b9cf7a128cb9
commit 32bd3eb5fbab954e68adba8c0b6a43cf03605c93
commit 741d73f587d5cc86db5e65cc107e031263302616
commit b615b9c36cae0468491547206406a909a9a37f26
commit f7e3885aa80559d5e497eec18e6909d594497c13
commit 0289507609dcb7690e45e79fbcc3680d9298ec77
commit 0c8c5bdd7eaf291b6f727e98506fb68acee3a4cc
commit 70a6587dca37a3cf12ab323f7fd73266abfc274f
commit 83dcf232cc7919725a331359a300fb3929651b6e
commit ad92f52312614b0ef6eee07ee64f1e7661072a49
commit 457ca96d04f599d2f95bd61144851f2181ccacc4
commit 2efba0c095419f93f8913f1cbae8bf3fb030db20
commit 70b4ab5489da0fe5b699a8466aa4f73ea304ae65
commit da9a73b7b25eab574cb9c984fcce0b5e240bdd2c
commit f1a4dceeb2bd4b4478e4f0c77dac55569d153fb3
commit bf05aeac230e390a5aee4bd3dc978b0c4d7e745f
commit d92b90f9a54d9300a6e883258e79f36dab53bfae
commit 9498f2e24ee0133d486667c9fa4c27ecdaadc272
commit fcd33d434d31a210bc9f209b5bfd92f3b91a2dda
commit ec2231b8dd2dc515912ff7816c420153b4a95e92
commit 8f72c31f45a575d156cfe964099b4cfcc02e03eb
commit 2775df6e5e324be9dc375f7db2c8d3042df72bbf
commit 26df39de93bb8763bb3088db6c76eb98d4cd7213
commit ae2c6d8b3b88c176dff92028941a4023f1b4cb91
commit 9ea925c806dbb8fee6797f59148daaf7f648832e
commit 21d1d72475809734a5149ecfffdc7551503b042b
commit 52755373ea6197dac40b9804ce967611b5e989bf
commit 0da531c82a0fcac65407d28ecdb2a1e19c833df5
commit c389a0604cfbcdb1f8f53a76560eb31e0700e206
commit 28b0ef922738b74335c20b8ed4bf8e259353a3a3
commit 2f27fce67173bbb05d5a0ee03dae5c021202c912
commit 7ab9ebc580617831355843f19224f1e31bb8e983
commit ee06c09ded3c2f722be4e240ed06287e23596bda
commit 99b1f7493bfa757b03d41ee6d7f7d00f81fcba5d
commit 69bbe3adf36de47315498c9384f99a1ff9171694
commit 73d10c7788f6d2b7badf9973afbdea7ca433c15d
commit ddc73c465628ab3e60f7eb5b4063b644c18b6336
commit 9460f4bd5970f2e46fe190a0cb9814697bd7f21a
commit 6c10ba06bb1b48acce6d4d9c1e33beb9954f1788
commit bfc00a7754c40544c7446d3b664049d6e00ee0bd
commit 902b4027216aeaabe1562e1db070550c06f3ec89
commit 0110ac11952f06419d267f51a3989e989b17e67a
commit c400ec6990fb04a2ec9929b253dafa7e77c7f555
commit c77a46bebe99e70600e636a3a1f285637c479f46
commit 2ed186df27f078eb75c52d09e04aa7b0f9920f57
commit 3c75518cf27aa5a7e22e1f8f33339ded3779079b
commit 03b5038c0ad069380fab7e251d2bf3f1540d20f4
commit 797fb1533315571ff9e55e80154f48cd47f3dbe5
commit c1de938fb7e5edc4c71d33f73e9fc5c77feb02a0
commit 7181faaa4703705939580abffaf9cb5d6b50dbb7
commit 151b1813919d4ab932e69ca4032761ee0789b04c
commit 2ae6cd583c4c86c2b7e879b07effb8ffb10756bc
commit 2778701b165eda674756537054d460fb4b0cf2e2
commit c03fca619fc687338a3b6511fdbed94096abdf79
commit c2ed7002c0614c5eab6c8f62a7a76be5df5805cf
commit f588da30a20cf184f150420e4098b694908a4207
commit d18a56b247f4f3f7dbdd3adeeebd05c23f1e3d3e
commit 5a3d3e11349c2e298c0b6b4d37c8241f44d37e3d
commit f57b77d667dc6bd2b114d08d04b03869539209f6
commit 0765b2afc1118a6ab5fee624e206c782d70db28a
commit 09cb922c4e14e6531979bff4e6bb3babcd9cb188
commit 401c90c4d64f2227fc2f4c02d2ad23296bf5ca6f
commit 3766a840e093d30e1a2522f650d8a6ac892a8719
commit ae5100805f98641ea4112241e350485c97936bbe
commit cf4cebcec619d963fa7496018f03cb0ff00dc257
commit e79563bf5fb17d1a199c7c0f7d5a7a98c077302a
commit 07bfa9cdbf3cd2daadfaaba0601f126f45951ffa
commit ce83ae29f93772d604b4ea73459fb17822d6a6b0
commit ff599ef6970ee000fa5bc38d02fa5ff5f3fc7575
commit b6499840cafca25175f43ebd601913bf31d06f16
commit f510dd5c210bf8cc22e4be48cbbda3cb754219f5
commit 4bdc5b504af7de1f649004cfdd37445d36db6703
commit b74571a83fd3e50f804f090aae60c864d458187c
commit 327e62f47eb57ae5ff63de82b0815557104e439a
commit 199888aa25b3a3315360224bda9134a9b58c9306
commit fa8a4d3659d0c1ad73d5f59b2e0a6d408de5b317
commit 06c9aeb57fe894e6e442cd66870cd3e863bbf08c
commit ef126c06a98bde1a41303970eb0fc0ac33c3cc02
commit 42ac749d5b8bf78b347ac8a52eb15cc397b157a0
commit 54b86443fd4437c051aefd3f462cfff4defd420c
commit f2be7b39e43893ab5361115de2b95e7c5c86f190
commit 375b035f689735fd7a87ff31ccac3a42717252bf
commit e7d4e1438533abe448813bdc45691f9c230aa307
commit 042658d17a54c9dc8c028986dfbde49f4aa01871
commit 7b6df1d73290961ff0a00fd0022f28dd19e37181
commit d5a29e6a61028887bb8480e7c4af3547d6f3862d
commit 87d749a6aab73d8069d0345afaa98297816cb220
commit 6dcba0975d39b30be65dd038fed69e1aa111c73a
commit 856265caa94a3c78feaa23ec1acd799fe1989201
commit 84f76408abe989809de19d02e476b044fd985adc
commit de848da12f752170c2ebe114804a985314fd5a6a
commit 617a814f14b8914271f7a70366d72c6196d17663
commit 7856a565416e0cf091f825b0e25c7a1b7abb650e
commit cac075706f298948898b1f63e81709df42afa75d
commit f8ffbc365f703d74ecca8ca787318d05bbee2bf7
commit 3a37872316c2e3288e09a1322221c83e5929768d
commit 440d52b370b03b366fd26ace36bab20552116145
commit f0fa69b5011a45394554fb8061d74fee4d7cd72c
commit 338aae5478befee9e0e66afb78c2ad1e8d69825c
commit d7126c0cfc137a580eba92bd82b6d288bd43961d
commit e860513f56d8428fcb2bd0282ac8ab691a53fc6c
commit 8b0d2f61545545ab5eef923ed6e59fc3be2385e0
commit 4771d2ecb7b9e4c2c73ede2908d7e7c989460981
commit 126be9b2bef9c7068fdd464790d82e6d70f9d8e6
commit e1d27f7a9cea1e0c06699164e3b177862e7b4096
commit 6ae9e1aba97e4cdaa31a0bfdc07497ad0e915c84
commit e45b011d2c4146442a388113657b70f0c7cad09b
commit 8048e5ade8224969023902b0b3f64470f9c250a7
commit d52ac79053a2f3eba04c1e7b56334df84d1d289f
commit 4286cc2c953983d44d248c9de1c81d3a9643345c
commit cbc8764e29c2318229261a679b2aafd0f9072885
commit 087913e0ba2b3b9d7ccbafb2acf5dab9e35ae1d5
commit 3cb576bc6dfb8940228b8130638860b631dd428a
commit a8387ddc0d15a365dd04baaa325a863d3612e020
commit 34ad56a467c320d07db22146cfb99ee01704a5de
commit d7d2688bf4ea58734d73e18edcbf4684b1496d30
commit cb787f4ac0c2e439ea8d7e6387b925f74576bdf8
commit e7268dd9bb9953a9eb0df9948abf5195bf474538
commit 994aeacbb3c039b4f3e02e76e6d39407920e76c6
commit abf201f6ce14c4ceeccde5471bdf59614b83a3d8
commit 43102a2012c2e2f8424d7eef52aede8e73cf2fed
commit 394b52462020b6cceff1f7f47fdebd03589574f3
commit 2cd86f02c017bf9733e5cd891381b7d40f6f37ad
commit 2b55639a4e25ff02ee496368b03456bd28ebdc0b
commit fa998a9eac8809da4f219aad49836fcad2a9bf5c
commit 282864cc5d3f144af0cdea1868ee2dc2c5110f0d
commit 7a1f30afe97294281a2ba05977688385744f9844
commit f9e7ac6e2e9986c2ee63224992cb5c8276e46b2a
commit d51160ab00969ee6758ed2dcbc0f81dd476a181c
commit c36df0f5f5e5acec5d78f23c4725cc500df28843
commit 05af800704ee7187d9edd461ec90f3679b1c4aba
commit ef785ca7f7c80891580cafd36c8dd86375684310
commit 52d4e3fb3d340447dcdac0e14ff21a764f326907
commit 34f50cc6441b7fee4a86495d5ef43da5d254bad9
commit 9286a191abe2ea01b34be577e8a09a412dcbb644
commit 5f60d5f6bbc12e782fac78110b0ee62698f3b576
commit 156cc376a200aa9890c1f71c5e3d2fec874a7d07
commit 475be5144459b502d8aa987637dd4d9f38422786
commit 240ebf1c9d4ce1576f58e10365fdd3bed8aba7dc
commit cffa8e83df9fe525afad1e1099097413f9174f57
commit 790533e44bfc7af929842fccd9674c9f424d4627
commit 2d2be279f1ca9e7288282d4214f16eea8a727cdb
commit cb58977016d1b25781743e5fbe6a545493785e37
commit d1ef967126e295d36201e79ec64efdba31710353
commit 0f18ac78aa974660a948dafcc45f4dc6e2c5858d
commit 7929ffce0f8b9c76cb5c2a67d1966beaed20ab61
commit 3bf90935aafc750c838c8831e96c3ac36cfd48d5
commit 6ef5a04221aaeb858d1a825b2ecb7e200cac80f8
commit 1b30f87e088b499eb74298db256da5c98e8276e2
commit 9e3c85ddea7a473ed57b6cdfef2dfd468356fc91
commit 74231870cf4976f69e83aa24f48edb16619f652f
commit 67801fa67b94ebd0e4da7a77ac2d9f321b75fbe0
commit 8135f1c09dd2eecee7cb637f7ec9a29e57300eb8
commit 7257d9c9a3c6cfe26c428e9b7ae21d61f2f55a79
commit a6f3b2527375c786f2eff77d3ee8b805bcfe026d
commit 301d194d01f3074efcf3a10eae116fcddb76788a
commit 5b272bf7dcf969eb4f19ef994b6e60458ee6300f
commit fe6fceceaecf4c7488832be18a37ddf9213782bc
commit 4cc2718f621a6a57a02581125bb6d914ce74d23b
commit d7d7b947a4fa6d0a82ff2bf0db413edc63738e3a
commit 8e82d1199564ea0baab7be31f6558406bab4fe1d
commit d6b9f492e229be1d1bd360c3ac5bee4635bacf99
commit 0a9906cc45d21e21ca8bb2b98b79fd7c05420fda
commit 79bc412ef787cf25773d0ece93f8739ce0e6ac1e
commit 04e0481526e30ab8c7e7580033d2f88b7ef2da3f
commit 835745a377a4519decd1a36d6b926e369b3033e2
commit 32fda5650625065b8ae6dbd9967fb572d3835c35
commit db7f92af626178ba59dbbcdd5dee9ec24a987a88
commit e863781abe4fe430406dd075ca0cab99165b4e63
commit 42465603a31089a89b5fe25966ecedb841eeaa0f
commit 3fd76be868ae5c7e9f905f3bcc2ce0e3d8f5aa08
commit 1badf482816417dca71f8120b4c540cdc82aa03c
commit fc4d262721705f2a7b860946504e7b8a313f06e1
commit fcddc71ec7ecf15b4df3c41288c9cf0b8e886111
commit 28a5dfd4f615539fb22fb6d5c219c199c14e6eb6
commit 4809a017a2bc42ff239d53ade4b2e70f2fe81348
commit 512a9721cae0d88d34ff441f2f5917cd149af8af
commit 26498b8d54373d31a621d7dec95c4bd842563b3b
commit fe4a435bd0c20beb6d7caf87b49bc49a2233b18b
commit b634acb2a070c072900c56154aa43e2ec2d45b2d
commit f07fd958a49264eebc1db9c946eb5d2e91c470fd
commit ac44ff7cec33d5c2d4b72d52603552ec64c1a8bf
commit fcf38bc321fbc87dfcd829f42e64e541f17599f7
commit d2c72d96dff5ba408bb107193b53e3134a516c4b
commit c0ec082f10b7a1fd25e8c1e2a686440da913b7a3
commit 7760d7f93c764625fedca176891238675fd06d62
commit e7457532cb7167516263150ceae86f36d6ef9683
commit 68d26c10ef503175df3142db6fcd75dd94860592
commit 7a1613e47e65ba6967085ad99dee95420346a0ce
commit 28127dba64d8ae1a0b737b973d6d029908599611
commit cb07c8338fc2b9d5f949a19d4a07ee4d5ecf8793
commit 69b3d87212676c4c22aa4660435e2066dc7d1311
commit 2f54e71359eb2abc0bdf6619cd356e5e350ff27b
commit 4ceead37ca9f5e555fe46e8528bd14dd1d2728e8
commit 03a86c24aea0920a1ca20a0d7771d5e176db538d
commit 761f916af44279a99db4e78c5f5ee839b31107ea
commit ed931fb40e353586f26c3327813d142f782f5f78
commit 82926f52d7a09c65d916c0ef8d4305fc95d68c0c
commit 477d665e9b6a1369968383f50c688d56b692a155
commit e7518276e9388d36f103e8c1c7e99898a30d11f5
commit 4e8b5a165160e2f521cc10bae58ce0b72b2e22b5
commit 816b186ce2e87df7c7ead4ad44f70f3b10a04c91
commit 6df106e93f79fb7dc90546a2d93bb3776b42863e
commit ffafd12696d1a4c8eeb7386d798d75e1fafb4e01
commit ec1aab7816b06c32f42935e34ce3a3040c778afb
commit e5a3c24bcaf7bc1c3c2647395aae5de4660c1c64
commit 5b3c0209e88a67a8d029ed8b6e30bca383cbdc55
commit c09c4f2a972ca7cd9c8926594aa2099bcbcd3b79
commit 7626b4e96bdbbadca046a775c6b8e02b842c05e7
commit 49ff3e79a7f49e269b0278e75d35d6421f5538a2
commit 83f000784844cb9d4669ef1a3366479db3197b33
commit 338b655a1178900ac05aca7ac66dc28b05100430
commit 85e444a68126a631221ae32c63fce882bb18a262
commit 5c23878252515b8d2b86839bd4cb7dea7088aacd
commit bf58f03931fdcf7b3c45cb76ac13244477a60f44
commit 9515e74d756b6825f6119823d41b437832d89355
commit f888e3d34b8641a551eba8e0fa26209c5392eec8
commit f67644b219d458d4b314e78f2304b73985390311
commit 23d16ede33a4db4973468bf6652a09da5efd1468
commit 63feb35cd26557572ad95fc062ede344bb61d9ad
commit 108bc59fe817686a59d2008f217bad38a5cf4427
commit ba1959f71117b27f3099ee789e0815360b4081dd
commit 7c210ca5a2d72868e5a052fc533d5dcb7e070f89
commit c8fb95e7a54315460b45090f0968167a332e1657
commit 22ef43c78647dd37b0dafe2182b8650b99dbbe59
commit 69418db678567bdf9a4992c83d448da462ffa78c
commit 9c1813b3253480b30604c680026c7dc721ce86d1
commit cdc21021f0351226a4845715564afd5dc50ed44b
commit 2ba1f81ec7cbb2a9920cd3435c515247863b32a6
commit e3e1cfe33f932860e070eafec8df8780e3b889a8
commit 4d95a12beba146b0ca2de59c7ce905bc0aadfd0c
commit 746ae46c11137ba21f0c0c68f082a9d8c1222c78
commit 4aa923a6e6406b43566ef6ac35a3d9a3197fa3e8
commit 935abb86a95def8c20dbb184ce30051db168e541
commit 25f2ff53838ccbd5ce558b5d23fac8a5d7f86655
commit dcb6c1d071712186c213c26b245779f7859b9cec
commit 6a9d2e2988fa3ef9b03ddd9ba9aaa54dc23635e6
commit 5d01b56f0518d80211812420a8907ca0b6c6e4e3
commit 412a2a8fdd4eb89b263623c7a59b77dbfcf8f215
commit 4700fd3e050da8302e60ebd4850d008250fa7204
commit caa714f86699bcfb01aa2d698db12d91af7d0d81
commit 926163342a2e7595d950e84c17c693b1272bd491
commit add4163aca0d4a86e9fe4aa513865e4237db8aef
commit 993ca0eccec65a2cacc3cefb15d35ffadc6f00fb
commit fe05cee4d9533892210e1ee90147175d87e7c053
commit 8594a2d8d72d86b70b8bace607100d88111aedf6
commit f99c7cca2f712d11a67148cfbe463fdefeb82dc5
commit b0ef514bc6bbdeb8cc7492c0f473e14cb06b14d4
commit b04ce1e718bd55302b52d05d6873e233cb3ec7a1
commit 7fd3fa006fa56c0ec299c61ecf5c572c723adad5
commit 4b468a92ddb2985da66823910a1643349fe6447d
commit 55e8a3f37e54eb1c7b914d6d5565a37282ec1978
commit 7d1e2580ed166f36949b468373b468d188880cd3
commit 1491efb39acee3848b61fcb3e5cc4be8de304352
commit 4f26c95ffc21a91281429ed60180619bae19ae92
commit 694c79769cb384bca8b1ec1d1e84156e726bd106
commit a6dd15981c03f2cdc9a351a278f09b5479d53d2e
commit 1356bfc54c8d4c8e7c9fb8553dc8c28e9714b07b
commit 74e1006430a5377228e49310f6d915628609929e
commit e301aea030d60da760f85f854a82ce788d5cf6e7
commit 3ce3f85787352fa48fc02ef6cbd7a5e5aba93347
commit b46dadf7e3cfe26d0b109c9c3d81b278d6c75361
commit f790a2c494c4ef587eeeb9fca20124de76a1646f
commit 4d75b9468021c73108b4439794d69e892b1d24e3
commit af797b831d8975cb4610f396dcb7f03f4b9908e7
commit 64a2b6ed4bfd890a0e91955dd8ef8422a3944ed9
commit a353c78459f4d116216393cc29032ef5fe1472d2
commit 514447a1219021298329ce586536598c3b4b2dc0
commit 052ef642bd6c108a24f375f9ad174b97b425a50b
commit 444fa5b100e5c90550d6bccfe4476efb0391b3ca
commit f432a1621f049bb207e78363d9d0e3c6fa2da5db
commit 9b984a71c240ed9287d6358109f6a0c6ab5bba32
commit 1a6bbc4d9e55d6c9df2dfe7d4f2705a544d8ca13
commit b8d9d5fef4915a383b4ce4d0f418352aa4701a87
commit bd8a9576617439bdc907c9ce0875909aea4221cb
commit 6825cb07b79ffeb1d90ffaa7a1227462cdca34ae
commit 9fc0cbcb6e45d6fc96ffd3bb7b6d6d28d693ff4d
commit 16dd2825c23530f2259fc671960a3a65d2af69bd
commit d641a151fcaf0d043075b214b469a14abab25af2
commit df0279e2a1c0735e8ca80c5df8d9f8f9fc120b4a
commit 0e5ac88fb918297a7484b67f2b484d43bed3fbbe
commit 79365ea70714427b4dff89b43234ad7c3233d7ba
commit db0fc586edde83ff7ff65fea56c4f72dae511764
commit 67e023b93d69e5a21b16f9602656a803d314e825
commit 5a67c31669a3aca814a99428328d2be40d82b333
commit 4bb2f52ac01b8d45d64c7c04881207722e5e6fe4
commit 5f77ee21eb44e37e371bcea195ea9403b95d1399
commit 7013a8268d311fded6c7a6528fc1de82668e75f6
commit 3387e043918e154ca08d83954966a8b087fe2835
commit ce0d6970231903f43572a6998020fdc8b3a8f455
commit dd886a63d6e2ce5c16e662c07547c067ad7d91f5
commit 46f1f4b0f3c2a2dff9887de7c66ccc7ef482bd83
commit be7eeaba2a11d7c16a9dc034a25f224f1343f303
commit c0403e4ceecaefbeaf78263dffcd3e3f06a19f6b
commit 21ec425eaf2cb7c0371f7683f81ad7d9679b6eb5
commit b6ad7debf5ab3e581b5cb0f5c94e404ec968bd5b
commit 9776c0a75a1a86b753b2dc7c1ecc3baa048a8dec
commit 93d1f41a82de382845af460bf03bcb17dcbf08c5
commit 32c4514455b2b8fde506f8c0962f15c7e4c26f1d
commit 99d051c4b33cfb451dca0c30e28da25db2ce4d7f
commit 1eb0de899b1eafe2c3aca8763c99e5c5ed791561
commit 21c1c6c7d732c2f6f4c5ffc77e103aa3ae8bff1d
commit 44f392fbf628a7ff2d8bb8e83ca1851261f81a6f
commit f48ab0a39f12fd83fae13bf81152531565cd5e75
Signed-off-by: Robert Foss <rfoss@redhat.com>
2024-11-21 22:32:41 +00:00
|
|
|
}
|
|
|
|
EXPORT_SYMBOL(dma_fence_array_init);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* dma_fence_array_create - Create a custom fence array
|
|
|
|
* @num_fences: [in] number of fences to add in the array
|
|
|
|
* @fences: [in] array containing the fences
|
|
|
|
* @context: [in] fence context to use
|
|
|
|
* @seqno: [in] sequence number to use
|
|
|
|
* @signal_on_any: [in] signal on any fence in the array
|
|
|
|
*
|
|
|
|
* Allocate a dma_fence_array object and initialize the base fence with
|
|
|
|
* dma_fence_init().
|
|
|
|
* In case of error it returns NULL.
|
|
|
|
*
|
|
|
|
* The caller should allocate the fences array with num_fences size
|
|
|
|
* and fill it with the fences it wants to add to the object. Ownership of this
|
|
|
|
* array is taken and dma_fence_put() is used on each fence on release.
|
|
|
|
*
|
|
|
|
* If @signal_on_any is true the fence array signals if any fence in the array
|
|
|
|
* signals, otherwise it signals when all fences in the array signal.
|
|
|
|
*/
|
|
|
|
struct dma_fence_array *dma_fence_array_create(int num_fences,
|
|
|
|
struct dma_fence **fences,
|
|
|
|
u64 context, unsigned seqno,
|
|
|
|
bool signal_on_any)
|
|
|
|
{
|
|
|
|
struct dma_fence_array *array;
|
|
|
|
|
|
|
|
array = dma_fence_array_alloc(num_fences);
|
|
|
|
if (!array)
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
dma_fence_array_init(array, num_fences, fences,
|
|
|
|
context, seqno, signal_on_any);
|
2022-05-23 17:17:03 +00:00
|
|
|
|
2016-06-01 13:10:03 +00:00
|
|
|
return array;
|
|
|
|
}
|
2016-10-25 12:00:45 +00:00
|
|
|
EXPORT_SYMBOL(dma_fence_array_create);
|
2017-03-17 16:34:49 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* dma_fence_match_context - Check if all fences are from the given context
|
|
|
|
* @fence: [in] fence or fence array
|
|
|
|
* @context: [in] fence context to check all fences against
|
|
|
|
*
|
|
|
|
* Checks the provided fence or, for a fence array, all fences in the array
|
|
|
|
* against the given context. Returns false if any fence is from a different
|
|
|
|
* context.
|
|
|
|
*/
|
|
|
|
bool dma_fence_match_context(struct dma_fence *fence, u64 context)
|
|
|
|
{
|
|
|
|
struct dma_fence_array *array = to_dma_fence_array(fence);
|
|
|
|
unsigned i;
|
|
|
|
|
|
|
|
if (!dma_fence_is_array(fence))
|
|
|
|
return fence->context == context;
|
|
|
|
|
|
|
|
for (i = 0; i < array->num_fences; i++) {
|
|
|
|
if (array->fences[i]->context != context)
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
EXPORT_SYMBOL(dma_fence_match_context);
|
2022-05-23 17:17:03 +00:00
|
|
|
|
|
|
|
struct dma_fence *dma_fence_array_first(struct dma_fence *head)
|
|
|
|
{
|
|
|
|
struct dma_fence_array *array;
|
|
|
|
|
|
|
|
if (!head)
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
array = to_dma_fence_array(head);
|
|
|
|
if (!array)
|
|
|
|
return head;
|
|
|
|
|
|
|
|
if (!array->num_fences)
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
return array->fences[0];
|
|
|
|
}
|
|
|
|
EXPORT_SYMBOL(dma_fence_array_first);
|
|
|
|
|
|
|
|
struct dma_fence *dma_fence_array_next(struct dma_fence *head,
|
|
|
|
unsigned int index)
|
|
|
|
{
|
|
|
|
struct dma_fence_array *array = to_dma_fence_array(head);
|
|
|
|
|
|
|
|
if (!array || index >= array->num_fences)
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
return array->fences[index];
|
|
|
|
}
|
|
|
|
EXPORT_SYMBOL(dma_fence_array_next);
|