define([

], function (

) {

	'use strict';

	return function getUpstreamChanges ( changes ) {
		var upstreamChanges = [ '' ], i, keypath, keys, upstreamKeypath;

		i = changes.length;
		while ( i-- ) {
			keypath = changes[i];
			keys = keypath.split( '.' );

			while ( keys.length > 1 ) {
				keys.pop();
				upstreamKeypath = keys.join( '.' );

				if ( !upstreamChanges[ upstreamKeypath ] ) {
					upstreamChanges.push( upstreamKeypath );
					upstreamChanges[ upstreamKeypath ] = true;
				}
			}
		}

		return upstreamChanges;
	};

});

@@ -356,9 +356,8 @@
 f ( 
-!
 upst
@@ -386,16 +386,25 @@
 eypath %5D
+ !== true
  ) %7B%0A%09%09%09

fix bone-headed #464 bug