/*jslint newcap:true*/
/*global define*/

define([
//>>includeStart('strict', pragmas.strict);
    './Class',
    './common/randomAccessor',
    './common/checkObjectPrototype'
//>>includeEnd('strict');
//>>excludeStart('strict', pragmas.strict);
    './Class'
//>>excludeEnd('strict');
], function FinalClassWrapper(
//>>includeStart('strict', pragmas.strict);
    Class,
    randomAccessor,
    checkObjectPrototype
//>>includeEnd('strict');
//>>excludeStart('strict', pragmas.strict);
    Class
//>>excludeEnd('strict');
) {

//>>includeStart('strict', pragmas.strict);
    "use strict";

    checkObjectPrototype();

    var random = randomAccessor(),
        $class = '$class_' + random;
//>>includeEnd('strict');

    return function FinalClass(params) {

        var def = new Class(params);
//>>includeStart('strict', pragmas.strict);
        def[$class].finalClass = true;
//>>includeEnd('strict');

        return def;
    };
});

@@ -686,16 +686,17 @@
 random;%0A
+%0A
 //%3E%3Eincl
@@ -709,25 +709,24 @@
 ('strict');%0A
-%0A
     return f

Fix CS.